Reengineering class hierarchies using concept analysis
- 1 November 1998
- conference paper
- Published by Association for Computing Machinery (ACM)
- Vol. 23 (6) , 99-110
- https://doi.org/10.1145/288195.288273
Abstract
The design of a class hierarchy may be imperfect. For example, a class C may contain a member m not accessed in any C-instance, an indication that m could be eliminated, or moved into a derived class. Furthermore, different subsets of C's members may be accessed from different C-instances, indicating that it might be appropriate to split C into multiple classes. We present a framework for detecting and remediating such design problems, which is based on concept analysis. Our method analyzes a class hierarchy along with a set of applications that use it, and constructs a lattice that provides valuable insights into the usage of the class hierarchy in a specific context. We show how a restructured class hierarchy can be generated from the lattice, and how the lattice can serve as a formal basis for interactive tools for redesigning and restructuring class hierarchies.Keywords
This publication has 17 references indexed in Scilit:
- A study of dead data members in C++ applicationsPublished by Association for Computing Machinery (ACM) ,1998
- Class hierarchy specializationACM SIGPLAN Notices, 1997
- Automatic inheritance hierarchy restructuring and method refactoringACM SIGPLAN Notices, 1996
- Slicing class hierarchies in C++ACM SIGPLAN Notices, 1996
- Reengineering of configurations based on mathematical concept analysisACM Transactions on Software Engineering and Methodology, 1996
- An algebraic semantics of subobjectsACM SIGPLAN Notices, 1995
- Sifting out the goldACM SIGPLAN Notices, 1994
- Building and maintaining analysis-level class hierarchies using Galois LatticesACM SIGPLAN Notices, 1993
- Creating abstract superclasses by refactoringPublished by Association for Computing Machinery (ACM) ,1993
- Restructuring Lattice Theory: An Approach Based on Hierarchies of ConceptsPublished by Springer Nature ,1982