DocumentCode
3658659
Title
Analyzing Refactorings´ Impact on Regression Test Cases
Author
Yuan Gao;Hui Liu;Xiaozhong Fan;Zhendong Niu;Bridget Nyirongo
Author_Institution
Sch. of Comput. Sci. &
Volume
2
fYear
2015
fDate
7/1/2015 12:00:00 AM
Firstpage
222
Lastpage
231
Abstract
Software refactoring is to improve readability, maintainability and expansibility of software by adjusting its internal structure, whereas the external behaviors of software are not changed. Although software refactoring should not change the external behaviors of software systems, they might make a regression test case obsolete (with syntax and runtime errors) or fail. People have investigated which refactorings had an influence on regression test case. However, how test cases are influenced by refactorings and what kind of errors might be introduced remain unknown. To this end, in this paper, we proposed an approach to analyze refactorings´ impact on regression test cases. On one hand, we analyzed why regression test cases failed. On the other hand, we analyzed the influence of refactorings on software interfaces. Based on the analysis, we built up a mapping between refactorings and test case failure. Such a mapping can be used to guide test case repair automation where test cases are made obsolete by refactorings. The approach was evaluated on five open-source applications. Evaluation results suggest that the precision of the approach is greater than 80%.
Keywords
"Maintenance engineering","Java","Open source software","Data mining","Automation","Arrays"
Publisher
ieee
Conference_Titel
Computer Software and Applications Conference (COMPSAC), 2015 IEEE 39th Annual
Electronic_ISBN
0730-3157
Type
conf
DOI
10.1109/COMPSAC.2015.16
Filename
7273622
Link To Document