Conference Papers: Reengineering Class Hierarchies Using Concept Analysis

[snelting98fse]Gregor Snelting, Frank Tip, Reengineering Class Hierarchies Using Concept Analysis, 6th ACM SIGSOFT international symposium on Foundations of software engineering, pp. 99--110, November 1998.


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.


  [PDF]   [DOI]


Authors at the institute

Department Head
Prof. Gregor Snelting