Extending Objects to Support Multiple Interfaces and Access Control
IEEE Transactions on Software Engineering
Subject-oriented programming: a critique of pure objects
OOPSLA '93 Proceedings of the eighth annual 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
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Formal Concept Analysis: Mathematical Foundations
Formal Concept Analysis: Mathematical Foundations
Concern graphs: finding and describing concerns using structural program dependencies
Proceedings of the 24th International Conference on Software Engineering
Locating Features in Source Code
IEEE Transactions on Software Engineering
An Object-Oriented Language-Database Integration Model: The Composition-Filters Approach
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
Aspect Mining Using Event Traces
Proceedings of the 19th IEEE international conference on Automated software engineering
Aspect Mining through the Formal Concept Analysis of Execution Traces
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
Identifying Aspects Using Fan-In Analysis
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
The Conceptual Cohesion of Classes
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Using natural language program analysis to locate and understand action-oriented concerns
Proceedings of the 6th international conference on Aspect-oriented software development
Combining Formal Concept Analysis with Information Retrieval for Concept Location in Source Code
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
Mining Functional Aspects from Legacy Code
ICTAI '08 Proceedings of the 2008 20th IEEE International Conference on Tools with Artificial Intelligence - Volume 02
FASE'06 Proceedings of the 9th international conference on Fundamental Approaches to Software Engineering
Hi-index | 0.00 |
Legacy OO applications typically implement a set of functional features which, in the absence of aspect-oriented techniques to separately develop and maintain them, end up embodied in the same class hierarchies. We identified three types of design techniques used to implement that embodiment: a) multiple inheritance– or simulations thereof, b) aggregation/delegation, and c) what we referred to as ad-hoc implementation. We are interested in identifying and isolating software artifacts that implement distinct functional features. Here, we explore the use of concept analysis to detect ad-hoc implementations of functional features. We present the principles underlying our overall approach, a formalization of the problem in terms of concept analysis, a method for identifying functional features based on the construction and exploration of the concept latice, and the results of an experimental validation study.