[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.
|
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.
Download
BibTeX
Authors at the institute