Reference : PEELER: Learning to Effectively Predict Flakiness without Running Tests |
Scientific congresses, symposiums and conference proceedings : Paper published in a book | |||
Engineering, computing & technology : Computer science | |||
Security, Reliability and Trust | |||
http://hdl.handle.net/10993/52227 | |||
PEELER: Learning to Effectively Predict Flakiness without Running Tests | |
English | |
Qin, Yihao [National University of Defense Technology, China] | |
Wang, Shangwen [National University of Defense Technology, China] | |
Liu, Kui [Huawei Software Engineering Application Technology Lab, China] | |
Lin, Bo [National University of Defense Technology] | |
Wu, Hongjun [National University of Defense Technology, China] | |
Li, Li [Monash University, Australia] | |
Mao, Xiaoguang [National University of Defense Technology, China] | |
Bissyande, Tegawendé François D Assise ![]() | |
Oct-2022 | |
Proceedings of the 38th IEEE International Conference on Software Maintenance and Evolution | |
1-12 | |
Yes | |
No | |
International | |
38th IEEE International Conference on Software Maintenance and Evolution | |
from 02-10-2022 to 07-10-2022 | |
IEEE | |
Limassol | |
Cyprus | |
[en] Flaky tests ; Deep learning ; Program dependency | |
[en] —Regression testing is a widely adopted approach to expose change-induced bugs as well as to verify the correctness/robustness of code in modern software development settings. Unfortunately, the occurrence of flaky tests leads to a significant increase in the cost of regression testing and eventually reduces the productivity of developers (i.e., their ability to find and fix real problems). State-of-the-art approaches leverage dynamic test information obtained through expensive re-execution of test
cases to effectively identify flaky tests. Towards accounting for scalability constraints, some recent approaches have built on static test case features, but fall short on effectiveness. In this paper, we introduce PEELER, a new fully static approach for predicting flaky tests through exploring a representation of test cases based on the data dependency relations. The predictor is then trained as a neural network based model, which achieves at the same time scalability (because it does not require any test execution), effectiveness (because it exploits relevant test dependency features), and practicality (because it can be applied in the wild to find new flaky tests). Experimental validation on 17,532 test cases from 21 Java projects shows that PEELER outperforms the state-of-the-art FlakeFlagger by around 20 percentage points: we catch 22% more flaky tests while yielding 51% less false positives. Finally, in a live study with projects in-the-wild, we reported to developers 21 flakiness cases, among which 12 have already been confirmed by developers as being indeed flaky. | |
http://hdl.handle.net/10993/52227 | |
https://www.researchgate.net/publication/361324187_Peeler_Learning_to_Effectively_Predict_Flakiness_without_Running_Tests/link/62aabeb123f3283e3aeadab7/download | |
H2020 ; 949014 - NATURAL - Natural Program Repair |
File(s) associated to this reference | ||||||||||||||
Fulltext file(s):
| ||||||||||||||
All documents in ORBilu are protected by a user license.