Analyzing Software Evolution and Quality by Extracting Asynchrony Change Patterns. Jaafar, F., Lozano, A., Gu�h�neuc, Y., & Mens, K. Journal of Systems and Software (JSS), 131:311–322, Elsevier, September, 2017. 12 pages.
Analyzing Software Evolution and Quality by Extracting Asynchrony Change Patterns [pdf]Paper  abstract   bibtex   
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.

Downloads: 0