Understanding evolutionary coupling by fine-grained co-change relationship analysis

Daihong Zhou, Yijian Wu, Lu Xiao, Yuanfang Cai, Xin Peng, Jinrong Fan, Lu Huang, Heng Chen

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

    10 Scopus citations

    Abstract

    Frequent co-changes to multiple files, i.e., evolutionary coupling, can demonstrate active relations among files, explicit or implicit. Although evolutionary coupling has been used to analyze software quality, there is no systematic study on the categorization of frequent co-changes between files which may used for characterizing various quality problems. In this paper, we report an empirical study on 27,087 co-change commits of 6 open-source systems with the purpose of understanding the observed evolutionary coupling. We extracted fine-grained change information from version control system to investigate whether two files exhibit particular kinds of co-change relationships. We consider code changes on 5 types of program entities (i.e., field, method, control statement, non-control statement, and class) and identified 6 types of dominating co-change relationships. Our manual analysis showed that each of the 6 types can be explained by structural coupling, semantic coupling, or implicit dependencies. Temporal analysis further shows that files may exhibit different co-change relationships at different phases in the evolution history. Finally, we investigated co-changes among multiple files by combining co-change relationships between related file pairs and showed with live examples that rich information embedded in the fine-grained co-change relationships may help developers to change code at multiple locations. Moreover, we analyzed how these co-change relationship types can be used to facilitate change impact analysis and to pinpoint design problems.

    Original languageEnglish
    Title of host publicationProceedings - 2019 IEEE/ACM 27th International Conference on Program Comprehension, ICPC 2019
    Pages271-282
    Number of pages12
    ISBN (Electronic)9781728115191
    DOIs
    StatePublished - May 2019
    Event27th IEEE/ACM International Conference on Program Comprehension, ICPC 2019 - Montreal, Canada
    Duration: 25 May 2019 → …

    Publication series

    NameIEEE International Conference on Program Comprehension
    Volume2019-May

    Conference

    Conference27th IEEE/ACM International Conference on Program Comprehension, ICPC 2019
    Country/TerritoryCanada
    CityMontreal
    Period25/05/19 → …

    Keywords

    • Change Types
    • Co-change Analysis
    • Co-change Relationship
    • Empirical Study
    • Evolutionary Coupling

    Fingerprint

    Dive into the research topics of 'Understanding evolutionary coupling by fine-grained co-change relationship analysis'. Together they form a unique fingerprint.

    Cite this