Decomposition slice graph and concept lattice are two program representation used to abstract the details of the code into a higher level view of the program. The decomposition slice graph partitions the program into computations performed on different variables and shows the dependence relation between computations, holding when a computation needs another computation as building block. The concept lattice groups program entities which share common attributes and organize such groupings into a hierarchy of concepts, which are related through generalizations/specializations. This paper investigates the relationship existing between these two program representations, by setting a framework in which they become comparable. The main result of this paper is a novel program representation, called concept lattice of decomposition slices, which is shown to be both an extension of the decomposition slice graph and a concept lattice. This joint program representation has several interesting properties. It can be computed efficiently, and it can be used in supporto to software maintenance, by providing a natural data structure on which to conduct impact analysis
Using a Concept Lattice of Decomposition Slices for Program Understanding and Impact Analysis
Tonella, Paolo
2001-01-01
Abstract
Decomposition slice graph and concept lattice are two program representation used to abstract the details of the code into a higher level view of the program. The decomposition slice graph partitions the program into computations performed on different variables and shows the dependence relation between computations, holding when a computation needs another computation as building block. The concept lattice groups program entities which share common attributes and organize such groupings into a hierarchy of concepts, which are related through generalizations/specializations. This paper investigates the relationship existing between these two program representations, by setting a framework in which they become comparable. The main result of this paper is a novel program representation, called concept lattice of decomposition slices, which is shown to be both an extension of the decomposition slice graph and a concept lattice. This joint program representation has several interesting properties. It can be computed efficiently, and it can be used in supporto to software maintenance, by providing a natural data structure on which to conduct impact analysisI documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.