z-logo
Premium
Do code data sharing dependencies support an early prediction of software actual change impact set?
Author(s) -
Liu Xiaoyu,
Huang LiGuo,
Egyed Alexander,
Ge Jidong
Publication year - 2018
Publication title -
journal of software: evolution and process
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.371
H-Index - 29
eISSN - 2047-7481
pISSN - 2047-7473
DOI - 10.1002/smr.1960
Subject(s) - computer science , change impact analysis , dependency graph , dependency (uml) , false positive paradox , data mining , set (abstract data type) , software , code (set theory) , source code , code smell , software development , machine learning , software quality , artificial intelligence , programming language
Existing studies have shown that structural dependencies within code are good predictors for code actual change impact set—a set of entities that repeatedly changing together to ensure a consistent and complete change. However, the result is far from ideal, particularly when insufficient historical data are available at an early stage of software development. This paper demonstrates that a better understanding of data dependencies in addition to call dependencies greatly improves actual change impact set prediction. We propose a new approach and tool (namely, CHIP) to predict software actual change impact sets leveraging both call and data sharing dependencies. For this purpose, CHIP employs novel extensions (dependency frequency filtering and shared data type idf filtering) to reduce false positives. CHIP assumes that developers know initial places where to start making changes in the source code even though they may not know all changes. This approach has been empirically evaluated on 4 large‐scale open source systems. Our evaluation demonstrates that data sharing dependencies have a complementary impact on software actual change impact set prediction as compared with predictions based on call dependencies only. CHIP improves the F2‐score compared with the predictors using both Program Dependence Graph and evolutionary couplings.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here