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 条
  • [1] Requirements-Based Delta-Oriented SPL Testing
    Dukaczewski, Michael
    Schaefer, Ina
    Lachmann, Remo
    Lochau, Malte
    2013 4TH INTERNATIONAL WORKSHOP ON PRODUCT LINE APPROACHES IN SOFTWARE ENGINEERING (PLEASE), 2013, : 49 - 52
  • [2] Certifying delta-oriented programs
    Vítor Rodrigues
    Simone Donetti
    Ferruccio Damiani
    Software & Systems Modeling, 2019, 18 : 2875 - 2906
  • [3] Certifying delta-oriented programs
    Rodrigues, Vitor
    Donetti, Simone
    Damiani, Ferruccio
    SOFTWARE AND SYSTEMS MODELING, 2019, 18 (05): : 2875 - 2906
  • [4] Deployment Variability in Delta-Oriented Models
    Johnsen, Einar Broch
    Schlatte, Rudolf
    Tarifa, S. Lizeth Tapia
    LEVERAGING APPLICATIONS OF FORMAL METHODS, VERIFICATION AND VALIDATION: TECHNOLOGIES FOR MASTERING CHANGE, PT I, 2014, 8802 : 304 - 319
  • [5] On checking delta-oriented product lines of statecharts
    Lienhardt, Michael
    Damiani, Ferruccio
    Testa, Lorenzo
    Turin, Gianluca
    SCIENCE OF COMPUTER PROGRAMMING, 2018, 166 : 3 - 34
  • [6] A core calculus for dynamic delta-oriented programming
    Damiani, Ferruccio
    Padovani, Luca
    Schaefer, Ina
    Seidl, Christoph
    ACTA INFORMATICA, 2018, 55 (04) : 269 - 307
  • [7] On Type Checking Delta-Oriented Product Lines
    Damiani, Ferruccio
    Lienhardt, Michael
    INTEGRATED FORMAL METHODS (IFM 2016), 2016, 9681 : 47 - 62
  • [8] Delta-Oriented Multi Software Product Lines
    Damiani, Ferruccio
    Schaefer, Ina
    Winkelmann, Tim
    18TH INTERNATIONAL SOFTWARE PRODUCT LINE CONFERENCE (SPLC 2014), VOL 1, 2014, : 232 - 236
  • [9] A core calculus for dynamic delta-oriented programming
    Ferruccio Damiani
    Luca Padovani
    Ina Schaefer
    Christoph Seidl
    Acta Informatica, 2018, 55 : 269 - 307
  • [10] Delta-oriented model-based integration testing of large-scale systems
    Lochau, Malte
    Lity, Sascha
    Lachmann, Remo
    Schaefer, Ina
    Goltz, Ursula
    JOURNAL OF SYSTEMS AND SOFTWARE, 2014, 91 : 63 - 84