In this paper, we describe g4re, our tool chain that exploits GENERIC, an intermediate format incorporated into the gcc C++ compiler, to facilitate analysis of real C++ applications. The gcc GENERIC representation is available through a file generated for each translation unit (TU), and g4re reads each TU file and constructs a corresponding Abstract Semantic Graph (ASG). Since TU files can be prohibitively large, ranging from 11 megabytes for a "hello world" program, to 18 gigabytes for a version of Mozilla Thunderbird, we describe our approach for reducing the size of the generated ASG.
@InProceedings{kraft_et_al:DagSemProc.05161.4, author = {Kraft, Nicholas A. and Malloy, Brian A. and Power, James F.}, title = {{g4re: Harnessing GCC to Reverse Engineer C++ Applications}}, booktitle = {Transformation Techniques in Software Engineering}, pages = {1--11}, series = {Dagstuhl Seminar Proceedings (DagSemProc)}, ISSN = {1862-4405}, year = {2006}, volume = {5161}, editor = {James R. Cordy and Ralf L\"{a}mmel and Andreas Winter}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/DagSemProc.05161.4}, URN = {urn:nbn:de:0030-drops-4244}, doi = {10.4230/DagSemProc.05161.4}, annote = {Keywords: Reverse engineering, schema, GXL} }
Feedback for Dagstuhl Publishing