Measuring architecture quality by structure plus history analysis

Robert Schwanke, Lu Xiao, Yuanfang Cai

    Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

    40 Scopus citations

    Abstract

    This case study combines known software structure and revision history analysis techniques, in known and new ways, to predict bug-related change frequency, and uncover architecture-related risks in an agile industrial software development project. We applied a suite of structure and history measures and statistically analyzed the correlations between them. We detected architecture issues by identifying outliers in the distributions of measured values and investigating the architectural significance of the associated classes. We used a clustering method to identify sets of files that often change together without being structurally close together, investigating whether architecture issues were among the root causes. The development team confirmed that the identified clusters reflected significant architectural violations, unstable key interfaces, and important undocumented assumptions shared between modules. The combined structure diagrams and history data justified a refactoring proposal that was accepted by the project manager and implemented.

    Original languageEnglish
    Title of host publication2013 35th International Conference on Software Engineering, ICSE 2013 - Proceedings
    Pages891-900
    Number of pages10
    DOIs
    StatePublished - 2013
    Event2013 35th International Conference on Software Engineering, ICSE 2013 - San Francisco, CA, United States
    Duration: 18 May 201326 May 2013

    Publication series

    NameProceedings - International Conference on Software Engineering
    ISSN (Print)0270-5257

    Conference

    Conference2013 35th International Conference on Software Engineering, ICSE 2013
    Country/TerritoryUnited States
    CitySan Francisco, CA
    Period18/05/1326/05/13

    Keywords

    • change history
    • fault prediction
    • measure
    • software architecture
    • structure

    Fingerprint

    Dive into the research topics of 'Measuring architecture quality by structure plus history analysis'. Together they form a unique fingerprint.

    Cite this