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 mailto [University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT) > TruX >]
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):

FileCommentaryVersionSizeAccess
Open access
ICSME_2022_Flaky_test.pdfAuthor preprint712.56 kBView/Open

Bookmark and Share SFX Query

All documents in ORBilu are protected by a user license.