Analyzing software evolution and quality by extracting Asynchrony change patterns

Analyzing software evolution and quality by extracting Asynchrony change patterns
复制标题

DOI:
10.1016/j.jss.2017.05.047
复制
发表时间:
2017-09
期刊:
J. Syst. Softw.
影响因子:
--
通讯作者:
Fehmi Jaafar;A. Lozano;Yann-Gaël Guéhéneuc;K. Mens
Fehmi Jaafar;A. Lozano;Yann-Gaël Guéhéneuc;K. Mens
中科院分区:
其他
文献类型:
--
作者:
Fehmi Jaafar;A. Lozano;Yann-Gaël Guéhéneuc;K. Mens

文献摘要

被引文献

相似文献

变更模式描述的是在软件系统的开发或维护过程中,经常一起变更的两个或多个文件。已经提出了几项研究来检测变更模式,并分析其类型及其对软件质量的影响。在这种情况下,我们引入了异步更改模式来描述一组文件,这些文件总是在相同的更改周期内一起更改,而不管维护它们的开发人员是谁。通过对4个软件系统22个版本的异步化变更模式、反模式和代码克隆的检测,分析了异步化变更模式、反模式和代码克隆的出现情况,并对其错误倾向性进行了实证研究。结果表明,与其他克隆相比,遵循相同异步更改模式的克隆文件的错误倾向性显著增加,而遵循相同异步更改模式的反模式的错误倾向性风险可能比其他反模式高出五倍。因此,异步更改模式似乎是克隆和反模式容易出错的强烈指示器。
Change patterns describe two or more files were often changed together during the development or the maintenance of software systems. Several studies have been presented to detect change patterns and to analyze their types and their impact on software quality. In this context, we introduced the Asynchrony change pattern to describes a set of files that always change together in the same change periods, regardless developers who maintained them. In this paper, we investigate the impact of Asynchrony change pattern on design and code smells such as anti-patterns and code clones.Concretely, we conduct an empirical study by detecting Asynchrony change patterns, anti-patterns and code clones occurrences on 22 versions of four software systems and analyzing their fault-proneness. Results show that cloned files that follow the same Asynchrony change patterns have significantly increased fault-proneness with respect to other clones, and that anti-patterns following the same Asynchrony change pattern can be up to five times more risky in terms of fault-proneness as compared to other anti-patterns. Asynchrony change patterns thus seem to be strong indicators of fault-proneness for clones and anti-patterns.