Prototyping versus specifying: a multiproject experiment
IEEE Transactions on Software Engineering
System Structure Analysis: Clustering with Data Bindings
IEEE Transactions on Software Engineering - Annals of discrete mathematics, 24
The synthesizer generator: a system for constructing language-based editors
The synthesizer generator: a system for constructing language-based editors
The synthesizer generator reference manual (3rd ed.)
The synthesizer generator reference manual (3rd ed.)
Integrating non-intering versions of programs
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An integrated approach to software engineering
An integrated approach to software engineering
An intelligent tool for re-engineering software modularity
ICSE '91 Proceedings of the 13th international conference on Software engineering
Software Metrics: A Rigorous Approach
Software Metrics: A Rigorous Approach
Extracting and Restructuring the Design of Large Systems
IEEE Software
Techniques for measuring the stability of clustering: a comparative study
SIGIR '82 Proceedings of the 5th annual ACM conference on Research and development in information retrieval
Approaches to clustering for program comprehension and remodularization
Advances in software engineering
Automatic architectual clustering of software
Advances in software engineering
Hierarchical Clustering for Software Architecture Recovery
IEEE Transactions on Software Engineering
Software Engineering
Journal of Software Maintenance and Evolution: Research and Practice
Clustering methodologies for software engineering
Advances in Software Engineering
An overview of the knowledge discovery meta-model
Proceedings of the 13th International Conference on Computer Systems and Technologies
Hi-index | 0.00 |
Several reverse engineering techniques classify software system components into subsystems. These techniques are designed to discover such classifications when the classifications are unknown. The techniques are rested and evaluated, however, by matching the classifications they recover against expected classifications. Several such techniques may be compared by experimentally evaluating their performance on the same set of software systems. Two things are needed to ensure experiment repeatability: a set of "real-world" software systems whose expected subsystem classifications are known; and an objective criterion to quantitatively determine the similarity of subsystem classifications. This paper contributes to both needs by identifying a set of widely used and easily accessible software systems whose modular decomposition either is documented or can be easily inferred from their design philosophy, and by presenting a measure to quantitatively determine the congruence between hierarchical subsystem classifications.