Title :
XOgastan: XML-oriented gcc AST analysis and transformations
Author :
Antoniol, G. ; Penta, M. Di ; Masone, G. ; Villano, U.
Author_Institution :
Dept. of Eng., Univ. of Sannio, Benevento, Italy
Abstract :
Software maintenance, program analysis and transformation tools almost always rely on static source code analysis as the first and fundamental step to gather information. In the past, two different strategies have been adopted to develop tool suites. There are tools encompassing or implementing the source parse step, where the parser is internal to the toolkit, developed and maintained with it. A different approach builds tools on the top of external, already available, components such as compilers that output the abstract syntax tree, or make it available via an API. We present an approach and a tool, XOgastan, developed exploiting the gcc/g++ ability to save a representation of the intermediate abstract syntax tree into a file. XOgastan translates the gcc/g++ format into a graph exchange language representation, thus taking advantage of the high number of currently available XML tools for the subsequent analysis phases. The tool is illustrated and its design is discussed, showing its architecture and the main implementation choices.
Keywords :
XML; abstract data types; graph grammars; program compilers; program diagnostics; program interpreters; software maintenance; software tools; API; GXL; XML oriented gcc AST analysis; XML tools; XOgastan; abstract syntax trees; g++ format; gcc format; graph exchange language representation; parser; program analysis; software maintenance; static source code analysis; transformation tools; Computer architecture; Computer languages; Data mining; Information analysis; Reverse engineering; Software maintenance; Software tools; Subspace constraints; Tree graphs; XML;
Conference_Titel :
Source Code Analysis and Manipulation, 2003. Proceedings. Third IEEE International Workshop on
Print_ISBN :
0-7695-2005-7
DOI :
10.1109/SCAM.2003.1238043