Improving Generalization Level in UML Models Iterative Cross Generalization in Practice

FCA has been successfully applied to software engineering tasks such as source code analysis and class hierarchy re-organization. Most notably, FCA puts mathematics behind the mechanism of abstracting from a set of concrete software artifacts. A key limitation of current FCA-based methods is the lack of support for relational information (e.g., associations between classes of a hierarchy): the focus is exclusively on artifact properties whereas inter-artifact relationships may encode crucial information. Consequently, feeding-in relations into the abstraction process may substantially improve its precision and thus open the access to qualitatively new generalizations. In this paper, we elaborate on ICG, an FCA-based methodology for extracting generic parts out of software models that are described as UML class diagrams. The components of ICG are located within the wider map of an FCA framework for relational data. A few experimental results drawn from an industrial project are also reflected on.