A System for Generating Reverse Engineering Tools: A Case Study of Software Modularisation

作者:Gerardo Canfora, Andrea De lucia, Giuseppe A. Di Lucca

摘要

The paper presents a case study in the development of software modularisation tools. The tools are produced by using a system for developing code analysers that uses a database to store both a no-loss fine-grained intermediate representation and the analyses' results. The analysers are automatically generated from a high-level specification of the desired analyses expressed in a domain-oriented language. We use a program intermediate representation, called F(p), as the user-visible data base conceptual model. Analysers are specified in a declarative language, called F(p) − ℓ, which allows the specification of an analysis in the form of a traversal of an algebraic expression, with accesses to, and stores of, the database information the algebraic expression indexes. A foreign language interface allows the analysers to be embedded into C programs. This is useful, for example, to implement the user interface of an analyser or to facilitate interoperation of the generated analysers with pre-existing tools.

论文关键词:reverse engineering, code analysis, intermediate program representations, application generators, tool integration

论文评审过程:

论文官网地址:https://doi.org/10.1023/A:1008704710421