Software reflexion models: bridging the gap between source and high-level models
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
On the criteria to be used in decomposing systems into modules
Communications of the ACM
The structure and value of modularity in software design
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control and Artificial Intelligence
Design Rules: The Power of Modularity Volume 1
Design Rules: The Power of Modularity Volume 1
HyperCast: A Protocol for Maintaining Multicast Group Members in a Logical Hypercube Topology
NGC '99 Proceedings of the First International COST264 Workshop on Networked Group Communication
Bunch: A Clustering Tool for the Recovery and Maintenance of Software System Structures
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
An analysis of modularity in aspect oriented design
Proceedings of the 4th international conference on Aspect-oriented software development
Information hiding interfaces for aspect-oriented design
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Modularity in design: formal modeling and automated analysis
Modularity in design: formal modeling and automated analysis
Survey: A survey on search-based software design
Computer Science Review
Search-based software engineering: Trends, techniques and applications
ACM Computing Surveys (CSUR)
Hi-index | 0.00 |
Modularity determines software quality in terms of evolveability, changeability, maintainability, etc. and a module could be a vertical slicing through source code directory structure or class boundary. Given a modular- ized design, we need to determine whether its implementa- tion realizes the designed modularity. Manually comparing source code modular structure with abstracted design mod- ular structure is tedious and error-prone. In this paper, we present an automated approach to check the conformance of source code modularity to the designed modularity. Our approach uses design structure matrices (DSMs) as a uniform representation; it uses existing tools to automatically derive DSMs from the source code and de- sign, and uses a genetic algorithm to automatically cluster DSMs and check the conformance. We applied our approach to a small canonical software system as a proof of concept experiment. The results sup- ported our hypothesis that it is possible to check the con- formance between source code structure and design struc- ture automatically, and this approach has the potential to be scaled for use in large software systems.