Identifying and quantifying architectural debt

Lu Xiao, Yuanfang Cai, Rick Kazman, Ran Mo, Qiong Feng

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

    84 Scopus citations

    Abstract

    Our prior work showed that the majority of error-prone source files in a software system are architecturally connected. Flawed architectural relations propagate defects among these files and accumulate high maintenance costs over time, just like debts accumulate interest. We model groups of architecturally connected files that accumulate high maintenance costs as architectural debts. To quantify such debts, we formally define architectural debt, and show how to automatically identify debts, quantify their maintenance costs, and model these costs over time. We describe a novel history coupling probability matrix for this purpose, and identify architecture debts using 4 patterns of architectural aws shown to correlate with reduced software quality. We evaluate our approach on 7 large-scale open source projects, and show that a significant portion of total project maintenance effort is consumed by paying interest on architectural debts. The top 5 architectural debts, covering a small portion (8% to 25%) of each project's error-prone files, capture a significant portion (20% to 61%) of each project's maintenance effort. Finally, we show that our approach reveals how architectural issues evolve into debts over time.

    Original languageEnglish
    Title of host publicationProceedings - 2016 IEEE/ACM 38th IEEE International Conference on Software Engineering Companion, ICSE 2016
    Pages488-498
    Number of pages11
    ISBN (Electronic)9781450339001, 9781450342056
    DOIs
    StatePublished - 14 May 2016
    Event2016 IEEE/ACM 38th IEEE International Conference on Software Engineering, ICSE 2016 - Austin, United States
    Duration: 14 May 201622 May 2016

    Publication series

    NameProceedings - International Conference on Software Engineering
    Volume14-22-May-2016
    ISSN (Print)0270-5257

    Conference

    Conference2016 IEEE/ACM 38th IEEE International Conference on Software Engineering, ICSE 2016
    Country/TerritoryUnited States
    CityAustin
    Period14/05/1622/05/16

    Keywords

    • Software Architecture
    • Software Quality
    • Technical Debt

    Fingerprint

    Dive into the research topics of 'Identifying and quantifying architectural debt'. Together they form a unique fingerprint.

    Cite this