Using deductive databases to facilitate the maintenance process

This paper focuses on how the novel integration of intermodule code analysis (IMCA) and deductive database (DD) technology facilitates program understanding and the software maintenance process. Specifically, we describe the implementation of IMCA for the object-based language Ada using the CORAL deductive database system. Since we have future plans to look at other languages and emerging database technologies, we call this implementation IMCA/sub DD//sup Ada/. Specifically, we describe in more detail the architectural issues of IMCA/sub DD//sup Ada/ and its implementation in the CORAL deductive database system, including the detailed schema of the facts and rules. A non-trivial code analysers example illustrates how the flexibility and extendibility of IMCA/sub DD//sup Ada/ facilitates the maintenance process, highlighting the advantages offered by the declarative technology.<<ETX>>

[1]  Divesh Srivastava,et al.  Coral++: Adding Object-Orientation to a Logic Database Language , 1993, VLDB.

[2]  Divesh Srivastava,et al.  CORAL - Control, Relations and Logic , 1992, VLDB.

[3]  Suzanne W. Dietrich,et al.  The application of deductive databases to inter-module code analysis , 1991, Proceedings. Conference on Software Maintenance 1991.

[4]  Elliot Soloway,et al.  PROUST: Knowledge-Based Program Understanding , 1984, IEEE Transactions on Software Engineering.

[5]  C. V. Ramamoorthy,et al.  The C Information Abstraction System , 1990, IEEE Trans. Software Eng..

[6]  Grady Booch,et al.  Software engineering with Ada , 1983 .

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

[8]  Frank W. Calliss Inter-module code analysis techniques for software maintenance , 1989 .

[9]  Meir M. Lehman,et al.  On understanding laws, evolution, and conservation in the large-program life cycle , 1984, J. Syst. Softw..

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

[11]  Letizia Tanca,et al.  Logic Programming and Databases , 1990, Surveys in Computer Science.

[12]  Aniello Cimitile,et al.  A Logic-Based Approach to Reverse Engineering Tools Production , 1992, IEEE Trans. Software Eng..

[13]  Elliot Soloway,et al.  Designing documentation to compensate for delocalized plans , 1988, CACM.

[14]  F. W. Calliss,et al.  Improved change tracking for software maintenance , 1991, Proceedings. Conference on Software Maintenance 1991.

[15]  Ramez Elmasri,et al.  Fundamentals of Database Systems, 2nd Edition , 1994 .