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

  • Authors:
  • Gerardo Canfora;Andrea De lucia;Giuseppe A. Di Lucca

  • Affiliations:
  • Faculty of Engineering, University of Sannio, Palazzo Bosco Lucarelli, Piazza Roma, 82100, Benevento, Italy. g.canfora@unina.it;Faculty of Engineering, University of Sannio, Palazzo Bosco Lucarelli, Piazza Roma, 82100, Benevento, Italy. andrea.delucia@unina.it;Department of “Informatica e Sistemistica”, University of Naples “Federico II”, via Claudio 21, 80125, Naples, Italy. dilucca@unina.it

  • Venue:
  • Automated Software Engineering
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.