KIT | KIT-Bibliothek | Impressum | Datenschutz

Understanding class hierarchies using concept analysis

Snelting, Gregor; Tip, Frank

Abstract:

A new method is presented for analyzing and reengineering class hierarchies. In our approach, a class hierarchy is processed along with a set of applications that use it, and a fine-grained analysis of the access and subtype relationships between objects, variables, and class members is performed. The result of this analysis is again a class hierarchy, which is guaranteed to be behaviorally equivalent to the original hierarchy, but in which each object only contains the members that are required. Our method is semantically well-founded in concept analysis: the new class hierarchy is a minimal and maximally factorized concept lattice that reflects the access and subtype relationships between variables, objects and class members. The method is primarily intended as a tool for finding imperfections in the design of class hierarchies, and can be used as the basis for tools that largely automate the process of reengineering such hierachies. The method can also be used as a space-optimizing source-to-source transformation that removes redundant fields from objects. A prototype implementation for Java has been constructed, and used to conduct several case studies. ... mehr


Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Zeitschriftenaufsatz
Publikationsjahr 2000
Sprache Englisch
Identifikator ISSN: 0164-0925
KITopen-ID: 1000017668
Erschienen in ACM Transactions on Programming Languages and Systems
Verlag Association for Computing Machinery (ACM)
Band 22
Heft 3
Seiten 540 - 582
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
KITopen Landing Page