A logic based approach to reverse engineering tools production

Some of the reasons for difficulties arising in the use of design documents produced by reverse engineering tools are analyzed. With reference to intermodular dataflow analysis for Pascal software systems, an interactive tool is proposed to more effectively help the maintainer. The tool is based on: the production of intermodular dataflow information by static analysis of the code; their representation in a Prolog program dictionary; and a Prolog abstractor that allows specific queries of maintainers to be answered. A logic-based approach to the design and implementation of an interactive tool which analyzes the intermodularal data flow of a program is discussed.<<ETX>>

[1]  Thomas W. Reps,et al.  The use of program dependence graphs in software engineering , 1992, International Conference on Software Engineering.

[2]  Mark A. Linton Implementing relational views of programs , 1984 .

[3]  Victor Weinberg,et al.  Structured Analysis , 1978 .

[4]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[5]  Suzanne W. Dietrich,et al.  A conceptual design for a code analysis knowledge base , 1992, J. Softw. Maintenance Res. Pract..

[6]  Jim Q. Ning,et al.  Knowledge-based program analysis , 1990, IEEE Software.

[7]  Paolo Ciancarini,et al.  Software process enactment in Oikos , 1990, SDE.

[8]  Ken Kennedy,et al.  Efficient computation of flow insensitive interprocedural summary information , 1984, SIGPLAN '84.

[9]  Alan R. Hevner,et al.  Using function abstraction to understand program behavior , 1990, IEEE Software.

[10]  Alberto O. Mendelzon,et al.  Visualizing and querying software structures , 1992, International Conference on Software Engineering.

[11]  Alfred V. Aho,et al.  The Theory of Parsing, Translation, and Compiling , 1972 .

[12]  John Banning,et al.  : An Efficient , 2022 .

[13]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

[14]  Aniello Cimitile,et al.  Maintenance and intermodular dependencies in Pascal environment , 1990, Proceedings. Conference on Software Maintenance 1990.

[15]  Andrea Maggiolo-Schettini,et al.  Web Structures: A Tool for Representing and Manipulating Programs , 1988, IEEE Trans. Software Eng..

[16]  Matthew S. Hecht,et al.  Flow Analysis of Computer Programs , 1977 .

[17]  F. J. Lukey Understanding and debugging programs , 1980 .

[18]  Aniello Cimitile,et al.  Reverse-engineering and intermodular data flow: A theoretical approach , 1992, J. Softw. Maintenance Res. Pract..

[19]  Letizia Tanca,et al.  Designing and Prototyping Data-Intensive Applications in the Logres and Algres Programming Environment , 1992, IEEE Trans. Software Eng..

[20]  Gene Forte,et al.  Tools Fair: Out of the Lab, Onto the Shelf , 1992 .

[21]  STEPHEN RICHARDSON,et al.  Interprocedural optimization: Experimental results , 1989, Softw. Pract. Exp..

[22]  Aniello Cimitile,et al.  Reverse engineering: Algorithms for program graph production , 1991, Softw. Pract. Exp..

[23]  James M. Purtilo,et al.  A Packaging System For Heterogeneous Execution Environments , 1991, IEEE Trans. Software Eng..

[24]  Aniello Cimitile,et al.  A reverse engineering methodology to reconstruct hierarchical data flow diagrams for software maintenance , 1989, Proceedings. Conference on Software Maintenance - 1989.

[25]  Aniello Cimitile,et al.  Reverse engineering processes, design document production, and structure charts , 1992, J. Syst. Softw..

[26]  Hai Huang,et al.  A rule-based tool for reverse engineering from source code to graphical models , 1992, Proceedings Fourth International Conference on Software Engineering and Knowledge Engineering.

[27]  Jeffrey M. Barth A practical interprocedural data flow analysis algorithm , 1978, CACM.

[28]  Premkumar T. Devanbu GENOA - A Customizable, Language- And Front-end Independent Code Analyzer , 1992, International Conference on Software Engineering.

[29]  Premkumar T. Devanbu,et al.  LaSSIE—a knowledge-based software information system , 1991, ICSE '90.

[30]  Georg Gottlob,et al.  Efficient Database Access from Prolog , 1989, IEEE Trans. Software Eng..