Keynote address - data abstraction and hierarchy
OOPSLA '87 Addendum to the proceedings on Object-oriented programming systems, languages and applications (Addendum)
Designing families of data types using exemplars
ACM Transactions on Programming Languages and Systems (TOPLAS)
Object-oriented modeling and design
Object-oriented modeling and design
From objects to classes: algorithms for optimal objection-oriented design
Software Engineering Journal
Interfaces and specifications for the Smalltalk-80 collection classes
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Technical criteria for the specification and evaluation of object-oriented libraries
Software Engineering Journal - Object-oriented systems
Building and maintaining analysis-level class hierarchies using Galois Lattices
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Object-oriented development: the fusion method
Object-oriented development: the fusion method
Object-oriented analysis and design with applications (2nd ed.)
Object-oriented analysis and design with applications (2nd ed.)
Automatic inheritance hierarchy restructuring and method refactoring
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
On automatic class insertion with overloading
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Design of class hierarchies based on concept (Galois) lattices
Theory and Practice of Object Systems - Special issue high availability in CORBA
Understanding class hierarchies using concept analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Concept Analysis for Module Restructuring
IEEE Transactions on Software Engineering
A Concept Formation Based Approach to Object Identification in Procedural Code
Automated Software Engineering
Planning the Software Industrial Revolution
IEEE Software
Semantics-Based Composition of Class Hierarchies
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
iO2 - An Algorithmic Method for Building Inheritance Graphs in Object Database Design
ER '96 Proceedings of the 15th International Conference on Conceptual Modeling
Can Metrics Help to Bridge the Gap Between the Improvement of OO Design Quality and Its Automation?
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
LP structures on type lattices and some refactoring problems
Programming and Computing Software
A Generic Approach for Class Model Normalization
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Actionability and formal concepts: a data mining perspective
ICFCA'08 Proceedings of the 6th international conference on Formal concept analysis
Formal concept analysis enhances fault localization in software
ICFCA'08 Proceedings of the 6th international conference on Formal concept analysis
Refactorings of design defects using relational concept analysis
ICFCA'08 Proceedings of the 6th international conference on Formal concept analysis
Backing composite web services using formal concept analysis
ICFCA'11 Proceedings of the 9th international conference on Formal concept analysis
Supporting ontology design through large-scale FCA-based ontology restructuring
ICCS'11 Proceedings of the 19th international conference on Conceptual structures for discovering knowledge
Publication analysis of the formal concept analysis community
ICFCA'12 Proceedings of the 10th international conference on Formal Concept Analysis
LP-structures analysis: Substantiation of refactoring in object-oriented programming
Automation and Remote Control
Hi-index | 0.00 |
The class hierarchy is an important aspect of object-oriented software development. Design and maintenance of such a hierarchy is a difficult task that is often accomplished without any clear guidance or tool support. Formal concept analysis provides a natural theoretical framework for this problem because it can guarantee maximal factorization while preserving specialization relationships. The framework can be useful for several software development scenarios within the class hierarchy life-cycle such as design from scratch using a set of class specifications, or a set of object examples, refactoring/reengineering from existing object code or from the observation of the actual use of the classes in applications and hierarchy evolution by incrementally adding new classes. The framework can take into account different levels of specification details and suggests a number of well-defined alternative designs. These alternatives can be viewed as normal forms for class hierarchies where each normal form addresses particular design goals. An overview of work in the area is presented by highlighting the formal concept analysis notions that are involved. One particularly difficult problem arises when taking associations between classes into account. Basic scaling has to be extended because the scales used for building the concept lattice are dependent on it. An approach is needed to treat this circularity in a well-defined manner. Possible solutions are discussed.