C++ Program Information Database for Analysis Tools

Program information extracted from source codes is valuable for research in many software engineering fields. Many program analysis tools in these fields usually share some common program information. To support multiple analysis tools based on common program information, it is practical and feasible to store information into database. This paper describes a C++ program information database, which is comprehensive enough to support many analysis tools. To employ the idea of incremental paring, the C++ program information database is linked by multiple incremental databases, which, in turn, are built by extracting information from source codes according to a C++ program conceptual model. Keyword C++, object orientation, program analysis, incremental parsing, program information database

[1]  Yih-Farn Robin Chen,et al.  The C++ Information Abstractor , 1990, C++ Conference.

[2]  Karl J. Lieberherr,et al.  Object-oriented design , 1996, CSUR.

[3]  James C. Browne,et al.  FAST: A second generation program analysis system , 1978, ICSE '78.

[4]  James H. Cross,et al.  Reverse engineering Control Structure Diagrams , 1993, [1993] Proceedings Working Conference on Reverse Engineering.

[5]  Mark A. Linton,et al.  Implementing relational views of programs , 1984, SDE 1.

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

[7]  Stanley B. Zdonik,et al.  A Database Approach to Languages, Libraries and Environments , 1985, Data Types and Persistence , Informal Proceedings.

[8]  Larry Masinter,et al.  The Interlisp Programming Environment , 1981, Computer.

[9]  Ali Mili,et al.  Reusing Software: Issues and Research Directions , 1995, IEEE Trans. Software Eng..

[10]  Linore Cleveland,et al.  A Program Understanding Support Environment , 1989, IBM Syst. J..

[11]  Wojtek Kozaczynski,et al.  Recovering reusable components from legacy systems by program segmentation , 1993, [1993] Proceedings Working Conference on Reverse Engineering.

[12]  Steven P. Reiss,et al.  Support for Maintaining Object-Oriented Programs , 1992, IEEE Trans. Software Eng..

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

[14]  Anneliese Amschler Andrews,et al.  Incremental parsing for software maintenance tools , 1993, J. Syst. Softw..

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

[16]  David Chenho Kung,et al.  Developing an object-oriented software testing and maintenance environment , 1995, CACM.