MuDelta: Delta-Oriented Mutation Testing at Commit Time

被引:6
|
作者
Ma, Wei [1 ]
Chekam, Thierry Titcheu [1 ]
Papadakis, Mike [1 ]
Harman, Mark [2 ,3 ]
机构
[1] Univ Luxembourg, SnT, Luxembourg, Luxembourg
[2] Facebook, London, England
[3] UCL, London, England
基金
欧洲研究理事会;
关键词
mutation testing; commit-relevant mutants; continuous integration; regression testing; machine learning;
D O I
10.1109/ICSE43902.2021.00086
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
To effectively test program changes using mutation testing, one needs to use mutants that are relevant to the altered program behaviours. In view of this, we introduce MuDelta, an approach that identifies commit-relevant mutants; mutants that affect and are affected by the changed program behaviours. Our approach uses machine learning applied on a combined scheme of graph and vector-based representations of static code features. Our results, from 50 commits in 21 Coreutils programs, demonstrate a strong prediction ability of our approach; yielding 0.80 (ROC) and 0.50 (PR Curve) AUC values with 0.63 and 0.32 precision and recall values. These predictions are significantly higher than random guesses, 0.20 (PR-Curve) AUC, 0.21 and 0.21 precision and recall, and subsequently lead to strong relevant tests that kill 45%more relevant mutants than randomly sampled mutants (either sampled from those residing on the changed component(s) or from the changed lines). Our results also show that MuDelta selects mutants with 27% higher fault revealing ability in fault introducing commits. Taken together, our results corroborate the conclusion that commit-based mutation testing is suitable and promising for evolving software.
引用
收藏
页码:897 / 909
页数:13
相关论文
共 50 条
  • [21] A Formal Foundation for Dynamic Delta-Oriented Software Product Lines
    Damiani, Ferruccio
    Padovani, Luca
    Schaefer, Ina
    ACM SIGPLAN NOTICES, 2013, 48 (03) : 1 - 10
  • [22] Summary of: On Checking Delta-Oriented Software Product Lines of Statecharts
    Lienhardt, Michael
    Damiani, Ferruccio
    Testa, Lorenzo
    Turin, Gianluca
    INTEGRATED FORMAL METHODS, IFM 2019, 2019, 11918 : 534 - 537
  • [23] Model-Driven Engineering for Delta-Oriented Software Product Lines
    Setyautami, Maya R. A.
    Rubiantoro, Rafiano R.
    Azurat, Ade
    2019 26TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC), 2019, : 371 - 377
  • [24] Experiences with Constructing and Evolving a Software Product Line with Delta-Oriented Programming
    Nieke, Michael
    Hoff, Adrian
    Schaefer, Ina
    Seidl, Christoph
    VAMOS'22: 16TH INTERNATIONAL WORKING CONFERENCE ON VARIABILITY MODELLING OF SOFTWARE-INTENSIVE SYSTEMS, 2022,
  • [25] Towards a Development Process for Maturing Delta-Oriented Software Product Lines
    Schuster, Sven
    Seidl, Christoph
    Schaefer, Ina
    PROCEEDINGS OF THE 8TH ACM SIGPLAN INTERNATIONAL WORKSHOP ON FEATURE-ORIENTED SOFTWARE DEVELOPMENT (FOSD'17), 2017, : 41 - 50
  • [26] Towards Incremental Model Slicing for Delta-Oriented Software Product Lines
    Lity, Sascha
    Baller, Hauke
    Schaefer, Ina
    2015 22ND INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), 2015, : 530 - 534
  • [27] Incremental Consistency Checking in Delta-oriented UML-Models for Automation Systems
    Kowal, Matthias
    Schaefer, Ina
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2016, (206): : 32 - 45
  • [28] CIAHelper: Towards Change Impact Analysis in Delta-Oriented Software Product Lines
    Hamza, Mostafa
    Walker, Robert J.
    Elaasar, Maged
    SPLC'18: PROCEEDINGS OF THE 22ND INTERNATIONAL SYSTEMS AND SOFTWARE PRODUCT LINE CONFERENCE, VOL 1, 2018, : 31 - 42
  • [29] Implementing Delta-Oriented SPLs using PEoPL: An Example Scenario and Case Study
    Behringer, Benjamin
    Fey, Moritz
    PROCEEDINGS OF THE 7TH INTERNATIONAL WORKSHOP ON FEATURE-ORIENTED SOFTWARE DEVELOPMENT (FOSD'16), 2016, : 28 - 38
  • [30] A delta-oriented approach to support the safe reuse of black-box code rewriters
    Benni, Benjamin
    Mosser, Sebastien
    Moha, Naouel
    Riveill, Michel
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2019, 31 (08)