Leveraging design rules to improve software architecture recovery

34Citations
Citations of this article
47Readers
Mendeley users who have this article in their library.
Get full text

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.

Cite

CITATION STYLE

APA

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.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free