Mental models and software maintenance
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Interfaces and specifications for the Smalltalk-80 collection classes
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Modular reasoning in the presence of subclassing
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
A focus+context technique based on hyperbolic geometry for visualizing large hierarchies
CHI '95 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Reuse contracts: managing the evolution of reusable assets
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
Object-oriented inspection in the face of delocalisation
Proceedings of the 22nd international conference on Software engineering
Formal Concept Analysis: Mathematical Foundations
Formal Concept Analysis: Mathematical Foundations
Object Oriented Reengineering Patterns
Object Oriented Reengineering Patterns
A Unified Framework for Cohesion Measurement in Object-OrientedSystems
Empirical Software Engineering
Object Oriented Design Pattern Inference
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Detecting Implicit Collaboration Patterns
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
Journal of Software Maintenance and Evolution: Research and Practice - Special Issue on the 12th Conference on Software Maintenance and Reengineering (CSMR 2008)
Using FCA to suggest refactorings to correct design defects
CLA'06 Proceedings of the 4th international conference on Concept lattices and their applications
An overview of the knowledge discovery meta-model
Proceedings of the 13th International Conference on Computer Systems and Technologies
Hi-index | 0.00 |
A key difficulty in the maintenance and evolution of complex software systems is to recognize and understand the implicit dependencies that define contracts that must be respected by changes to the software. Formal Concept Analysis is a well-established technique for identifying groups of elements with common sets of properties. We have successfully applied FCA to complex software systems in order to automatically discover a variety of different kinds of implicit, recurring sets of dependencies amongst design artifacts. In this paper we describe our approach, outline three case studies, and draw various lessons from our experiences. In particular, we discuss how our approach is applied iteratively in order to draw the maximum benefit offered by FCA.