Affiliation:
1. Univ., Passau
2. IBM T.J. Watson Research Center
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. Our results demonstrate that the method can provide valuable insights into the usage of a class hierarchy in a specific context, and lead to useful restructuring proposals.
Publisher
Association for Computing Machinery (ACM)
Reference43 articles.
1. Accredited Standards Committee X3. 1997. Working paper for draft proposed international standard for information systems|programming language C++. Doc. No. X3J16/97-0108. Accredited Standards Committee X3. 1997. Working paper for draft proposed international standard for information systems|programming language C++. Doc. No. X3J16/97-0108.
2. Andersen L. O. 1994. Program analysis and specialization for the c programming language. Ph.D. thesis DIKU University of Copenhagen. DIKU report 94/19. Andersen L. O. 1994. Program analysis and specialization for the c programming language. Ph.D. thesis DIKU University of Copenhagen. DIKU report 94/19.
3. Astudillo H. 1997. Maximizing object reuse with a biological metaphor. Theory and practice of object systems 3 4 235-251. 10.1002/(SICI)1096-9942(1997)3:4%3C235::AID-TAPO2%3E3.0.CO;2-R Astudillo H. 1997. Maximizing object reuse with a biological metaphor. Theory and practice of object systems 3 4 235-251. 10.1002/(SICI)1096-9942(1997)3:4%3C235::AID-TAPO2%3E3.0.CO;2-R
Cited by
60 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献