Designdiff: Continuously modeling software design difference from code revisions

Xiao Wang, Lu Xiao, Kaifeng Huang, Bihuan Chen, Yutong Zhao, Yang Liu

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

    2 Scopus citations

    Abstract

    The design structure of a system continuously evolves as the consequence of fast-paced code revisions. Agile techniques, such as continuous testing, ensures the function goals of a system with every code revision. However, there lacks an efficient approach that can continuously model the design difference resulting from every single code revision to facilitate comprehension and ensure the design quality. This paper contributes a novel design modeling approach, called Design Differencing (DESIGNDIFF), that models and visualizes the highlevel design differences resulting from every code revision. This paper defines a complete and general set of 17 design change operators to capture the design difference from any code revision. We evaluated the potential of DESIGNDIFF in three aspects. First, a user study of 10 developers indicated that DESIGNDIFF can help practitioners to faster and better understand high-level design differences from real-life software commits. Second, DESIGNDIFF analyzed 14,832 real-life commits in five real-life projects: finding 4,189 commits altered the software design, 855 commits introduced and 337 commits eliminated design flaws. The latency between the flaw introduction and elimination is on average 2 months to 2 years! With an affordable performance overhead, DESIGNDIFF has great potential to benefit practitioners in more applications.

    Original languageEnglish
    Title of host publicationProceedings - IEEE 17th International Conference on Software Architecture, ICSA 2020
    Pages179-190
    Number of pages12
    ISBN (Electronic)9781728146591
    DOIs
    StatePublished - Mar 2020
    Event17th IEEE International Conference on Software Architecture, ICSA 2020 - Salvador, Brazil
    Duration: 16 Mar 202020 Mar 2020

    Publication series

    NameProceedings - IEEE 17th International Conference on Software Architecture, ICSA 2020

    Conference

    Conference17th IEEE International Conference on Software Architecture, ICSA 2020
    Country/TerritoryBrazil
    CitySalvador
    Period16/03/2020/03/20

    Keywords

    • Architecture flaws
    • Reverse engineering
    • Software architecture

    Fingerprint

    Dive into the research topics of 'Designdiff: Continuously modeling software design difference from code revisions'. Together they form a unique fingerprint.

    Cite this