Simultaneous Refactoring and Regression Testing
Autor: | Marouane Kessentini, Jeffrey J. Yackley, Gabriele Bavota, Vahid Alizadeh, Bruce R. Maxim |
---|---|
Rok vydání: | 2019 |
Předmět: |
Process (engineering)
Computer science business.industry Search-based software engineering 020207 software engineering 02 engineering and technology computer.software_genre Machine learning Test case Software Code refactoring 020204 information systems Regression testing 0202 electrical engineering electronic engineering information engineering Feature (machine learning) Artificial intelligence business computer Knowledge transfer |
Zdroj: | SCAM |
DOI: | 10.1109/scam.2019.00032 |
Popis: | Currently, refactoring and regression testing are treated independently by existing studies. However, software developers frequently switch between these two activities, using regression testing to identify unwanted behavior changes introduced while refactoring and applying refactoring on identified buggy code fragments. Our hypothesis is that the tools to support developers in these two tasks could transfer part of the knowledge extracted from the process of finding refactoring opportunities to identify relevant test cases, and vice-versa. We propose a simultasking, search-based algorithm that unifies the tasks of refactoring and regression testing, hence solving them simultaneously and enabling knowledge transfer between them. The salient feature of the proposed algorithm is a unified and generic solution representation scheme for both problems, which serves as a common platform for knowledge transfer between them. We implemented and evaluated the proposed simultasking approach on six opensource systems and one industrial project. Our study features quantitative and qualitative analysis performed with developers, and the results achieved show that the proposed approach provides advantages over mono-task techniques treating refactoring and regression testing separately. |
Databáze: | OpenAIRE |
Externí odkaz: |