Uma banca de DEFESA de DOUTORADO foi cadastrada pelo programa.
DATA : 20/07/2018
HORA: 13:30
LOCAL: Auditório B321 - CIVT/IMD

Enhancing the SZZ Algorithm to Deal with Refactoring Changes


SZZ algorithm, Fix-inducing changes, Bug-fix changes, Refactoring changes


SZZ algorithm was proposed by Śliwerski, Zimmermann, and Zeller (hence the SZZ abbreviation) to identify fix-inducing changes. Despite the wide adoption of this algorithm, SZZ still faces limitations, which have been reported by recent researcher work over the last years. No several research work widely surveys how SZZ has been used, extended and evaluated by the software engineering community. Moreover, not much research work has proposed improvements to SZZ. In this context, this thesis has a goal to explore the existing limitations documented in the literature about SZZ, to enhance the state-of-the-art of SZZ proposing solutions to some of these limitations. First, we perform a systematic mapping study to answer what is the state-of-the-art of the SZZ algorithm and to explore how it has been used, its limitations, proposed improvements, and evaluations. Our results in this study show that the vast majority of the analyzed papers use SZZ as a foundation for their empirical studies (79%), while only a few propose direct improvements to SZZ (6%) or evaluate it (4%). We also observe that SZZ has many limitations unaddressed, such as the bias related to refactoring changes, which have not been addressed by any previous SZZ implementation. Second, we conduct an empirical study to investigate the relationship between refactoring changes and SZZ results. We use RefDiff, a tool that has the highest precision reported in the literature to detect code refactorings. We analyze an extensive dataset that included 31,518 issues of ten systems, with 64,855 bug-fix and 20,298 fix-inducing changes. We run RefDiff both in bug-fix and fix-inducing changes generated by a recent SZZ implementation — MA-SZZ. The results indicate a refactoring ratio of 6.5% fix-inducing changes and 19.9% in bug-fix changes. We incorporated RefDiff into MASZZ and proposed a Refactoring-Aware SZZ implementation (RA-SZZ). RA-SZZ reduces 20.8% of the lines that were flagged as fix-inducing changes by MA-SZZ. These results suggest that refactoring really can impact SZZ results. By using an evaluation framework, we found that RA-SZZ reduces of disagreement ratio compared to prior ones, but our results suggest that RA-SZZ still needs to improve its accuracy. Finally, we evaluated the RA-SZZ accuracy using a validated dataset constructed by using a well-accepted dataset. Moreover, we revisited known SZZ limitation to improve its accuracy, e.g., integrating a novel refactoring-detection tool — RMiner. We observe that after refining RA-SZZ, in the median, 44% of lines that are flagged as fix-inducing lines per issue are correct, while only 29% are valid in MA-SZZ-generated results. We also manually analyzed RA-SZZ results and we found that there are still refactorings and equivalent changes to be recognized by SZZ. This result reinforces that detecting refactoring indeed increases the SZZ accuracy. Besides, our thesis results contribute to SZZ maturation by suggesting that refactoring impact in SZZ may be even higher if it addresses new improvements in future work.

Presidente - 1644456 - UIRA KULESZA
Interno - 1709820 - ROBERTA DE SOUZA COELHO
Externo à Instituição - DANIEL ALENCAR DA COSTA - Queensu
Externo à Instituição - INGRID OLIVEIRA DE NUNES - UFRGS
Externo à Instituição - MARCELO DE ALMEIDA MAIA - UFU
Notícia cadastrada em: 10/07/2018 09:12
SIGAA | Superintendência de Tecnologia da Informação - (84) 3342 2210 | Copyright © 2006-2024 - UFRN -