When a software system enters the maintenance phase, the availability of accurate and consistent information about its organization can help alleviate the difficulties of program understanding. Reverse engineering methods aim at extracting such kind of information directly from the code. While several tools support the recovery of the class diagram from object oriented code, no work has insofar attacked the problem of statically characterizing the behaviior of an object oriented system by means of diagrams which represent the class instances (objects) and their mutual relationships. In this paper a novel static analysis algorithm is proposed for the extraction of the object diagram from the code, based on a program representatin called the object low graph. Partial object diagrams can be associated dynamically to the system by executing and tracing the program on a set of test cases. The complementary nature of these two views will be discussed, and a novel approach to object oriented testing will be derived from such a comparison. The usefulness of the proposed technique is illustrated on a real world, public domain C++ system

Static and Dynamic C++ Code Analysis for the Recovery of the Object Diagram

Tonella, Paolo;Potrich, Alessandra
2002-01-01

Abstract

When a software system enters the maintenance phase, the availability of accurate and consistent information about its organization can help alleviate the difficulties of program understanding. Reverse engineering methods aim at extracting such kind of information directly from the code. While several tools support the recovery of the class diagram from object oriented code, no work has insofar attacked the problem of statically characterizing the behaviior of an object oriented system by means of diagrams which represent the class instances (objects) and their mutual relationships. In this paper a novel static analysis algorithm is proposed for the extraction of the object diagram from the code, based on a program representatin called the object low graph. Partial object diagrams can be associated dynamically to the system by executing and tracing the program on a set of test cases. The complementary nature of these two views will be discussed, and a novel approach to object oriented testing will be derived from such a comparison. The usefulness of the proposed technique is illustrated on a real world, public domain C++ system
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11582/610
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
social impact