Abstract
In order to recover software architecture, various clustering techniques have been created to automatically partition a software system into meaningful subsystems. While these techniques have demonstrated their effectiveness, we observe that a key feature within most software systems has not been fully exploited: most well-designed systems follow strong architectural design rules that split the overall system into modules. These design rules are often manifested as special program constructs, such as shared data structures or abstract interfaces, which should not belong to any of the subordinate modules. We contribute a new perspective of architecture recovery based on this rationale, which enables the combination of design-rule-based clustering with other clustering techniques, as well as enabling the splitting of a large system into subsystems. We evaluated our approach both quantitatively and qualitatively, using both open source and real industrial software projects. Copyright 2013 ACM.
Author supplied keywords
Cite
CITATION STYLE
Cai, Y., Wang, H., Wong, S., & Wang, L. (2013). Leveraging design rules to improve software architecture recovery. In QoSA 2013 - Proceedings of the 9th International ACM Sigsoft Conference on the Quality of Software Architectures (pp. 133–142). https://doi.org/10.1145/2465478.2465480
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.