Design rule spaces: A new form of architecture insight

Lu Xiao, Yuanfang Cai, Rick Kazman

    Research output: Contribution to journalConference articlepeer-review

    79 Scopus citations

    Abstract

    In this paper, we investigate software architecture as a set of overlapping design rule spaces, formed by one or more structural or evolutionary relationships and clustered using our design rule hierarchy algorithm. Considering evolutionary coupling as a special type of relationship, we investigated (1) whether design rule spaces can reveal structural relations among error-prone files; (2) whether design rule spaces can reveal structural problems contributing to error-proneness.We studied three large-scale open source projects and found that error-prone files can be captured by just a few design rule sub-spaces. Supported by our tool, Titan, we are able to flexibly visualize design rule spaces formed by different types of relationships, including evolutionary dependencies. This way, we are not only able to visualize which error-prone files belong to which design rule spaces, but also to visualize the structural problems that give insight into why these files are error prone. Design rule spaces provide valuable direction on which parts of the architecture are problematic, and on why, when, and how to refactor.

    Original languageEnglish
    Pages (from-to)967-977
    Number of pages11
    JournalProceedings - International Conference on Software Engineering
    Issue number1
    DOIs
    StatePublished - 31 May 2014
    Event36th International Conference on Software Engineering, ICSE 2014 - Hyderabad, India
    Duration: 31 May 20147 Jun 2014

    Keywords

    • Architecture Recovery
    • Software Architecture
    • Software Quality

    Fingerprint

    Dive into the research topics of 'Design rule spaces: A new form of architecture insight'. Together they form a unique fingerprint.

    Cite this