A language and platform-independent approach for reverse engineering

We present an approach for reverse engineering a program to capture design and implementation artifacts such as metrics and UML class or sequence diagrams. We also describe an implementation of our approach, libthorin. However, unlike previous reverse engineering tools, libthorin can be applied to a variety of programming languages including C, C++, Java, Fortran 90 and C#. Moreover, libthorin can provide both coarse-grained and fine-grained information about the program under development to enable re-engineering of information and high-level diagrams such as metrics and class diagrams, or low-level diagrams such as sequence diagrams, control flow graphs and other program representations and analysis tools for testing, debugging and profiling an application under development.

[1]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[2]  Brian A. Malloy,et al.  Decorating tokens to facilitate recognition of ambiguous language constructs , 2003, Softw. Pract. Exp..

[3]  Chris F. Kemerer,et al.  Towards a metrics suite for object oriented design , 2017, OOPSLA '91.

[4]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[5]  Gregory Tassey,et al.  Prepared for what , 2007 .

[6]  Mary Jean Harrold,et al.  Testing: a roadmap , 2000, ICSE '00.

[7]  Luca Padovani,et al.  The Gnome DOM Engine , 2001, Extreme Markup Languages®.