Feature location via information retrieval based filtering of a single scenario execution trace
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Using information retrieval to support design of incremental change of software
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
On Computing Canonical Subsets of Graph-Based Behavioral Representations
GbRPR '09 Proceedings of the 7th IAPR-TC-15 International Workshop on Graph-Based Representations in Pattern Recognition
Resolving feature dependency implementations inconsistencies during product derivation
Proceedings of the 6th ECMFA Traceability Workshop
Using compression algorithms to support the comprehension of program traces
Proceedings of the Eighth International Workshop on Dynamic Analysis
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part II
Using structural and textual information to capture feature coupling in object-oriented software
Empirical Software Engineering
Explicit use-case representation in object-oriented programming languages
Proceedings of the 7th symposium on Dynamic languages
Hi-index | 0.00 |
Software applications typically have many features that vary in their similarity. We define a measurement of similarity between pairs of features based on their underlying implementations and use this measurement to compute a set of canonical features. The Canonical Features Set (CFS) consists of a small number of features that are as dissimilar as possible to each other, yet are most representative of the features that are not in the CFS. The members of the CFS are distinguishing features and understanding their implementation provides the engineer with an overview of the system undergoing scrutiny. The members of the CFS can also be used as cluster centroids to partition the entire set of features. Partitioning the set of features can simplify the understanding of large and complex software systems. Additionally, when a specific feature must undergo maintenance, it is helpful to know which features are most closely related to it. We demonstrate the utility of our method through the analysis of the Jext, Firefox, and Gaim software systems.