Data-driven Mutation Analysis for Cyber-Physical Systems

Cyber-physical systems (CPSs) typically consist of a wide set of integrated, heterogeneous components; consequently, most of their critical failures relate to the interoperability of such components. Unfortunately, most CPS test automation techniques are preliminary and industry still heavily relies on manual testing. With potentially incomplete, manually-generated test suites, it is of paramount importance to assess their quality. Though mutation analysis has demonstrated to be an effective means to assess test suite quality in some specific contexts, we lack approaches for CPSs. Indeed, existing approaches do not target interoperability problems and cannot be executed in the presence of black-box or simulated components, a typical situation with CPSs. In this paper, we introduce data-driven mutation analysis, an approach that consists in assessing test suite quality by verifying if it detects interoperability faults simulated by mutating the data exchanged by software components. To this end, we describe a data-driven mutation analysis technique (DaMAT ) that automatically alters the data exchanged through data buffers. Our technique is driven by fault models in tabular form where engineers specify how to mutate data items by selecting and configuring a set of mutation

[1]  Fevzi Belli,et al.  Model-based mutation testing - Approach and case studies , 2016, Sci. Comput. Program..

[2]  Lionel C. Briand,et al.  Generating Complex and Faulty Test Data through Model-Based Mutation Analysis , 2015, 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST).

[3]  Alex Denisov,et al.  Mull It Over: Mutation Testing Based on LLVM , 2018, 2018 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW).

[4]  Ibrahim Habli,et al.  An Empirical Evaluation of Mutation Testing for Improving the Test Quality of Safety-Critical Software , 2013, IEEE Transactions on Software Engineering.

[5]  Kang G. Shin,et al.  DOCTOR: an integrated software fault injection environment for distributed real-time systems , 1995, Proceedings of 1995 IEEE International Computer Performance and Dependability Symposium.

[6]  Patrice Godefroid,et al.  Billions and billions of constraints: Whitebox fuzz testing in production , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[7]  Pieter Simoens,et al.  Interoperability for Industrial Cyber-Physical Systems: An Approach for Legacy Systems , 2017, IEEE Transactions on Industrial Informatics.

[8]  Lionel Briand,et al.  Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results in the Space Domain , 2021, IEEE Transactions on Software Engineering.

[9]  Siddhartha Kumar Khaitan,et al.  Design Techniques and Applications of Cyberphysical Systems: A Survey , 2015, IEEE Systems Journal.

[10]  Farnam Jahanian,et al.  Testing of fault-tolerant and real-time distributed systems via protocol fault injection , 1996, Proceedings of Annual Symposium on Fault Tolerant Computing.

[11]  Yves Le Traon,et al.  Threats to the validity of mutation-based test assessment , 2016, ISSTA.

[12]  Hans A. Hansson,et al.  A Survey on Testing for Cyber Physical System , 2015, ICTSS.

[13]  Daniel Kroening,et al.  Test-case generation for embedded simulink via formal concept analysis , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[14]  Bernhard K. Aichernig,et al.  MoMut::UML Model-Based Mutation Testing for UML , 2015, 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST).

[15]  Dawson R. Engler,et al.  KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs , 2008, OSDI.

[16]  Shin Yoo,et al.  A Theoretical and Empirical Study of Diversity-Aware Mutation Adequacy Criterion , 2018, IEEE Transactions on Software Engineering.

[17]  Alex Groce,et al.  How hard does mutation analysis have to be, anyway? , 2015, 2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE).

[18]  Mark Harman,et al.  A Manifesto for Higher Order Mutation Testing , 2010, 2010 Third International Conference on Software Testing, Verification, and Validation Workshops.

[19]  Mark Harman,et al.  An Analysis and Survey of the Development of Mutation Testing , 2011, IEEE Transactions on Software Engineering.

[20]  M. Weideman,et al.  European Space Agency , 2019, The Grants Register 2022.

[21]  Shin Yoo,et al.  Are Mutation Scores Correlated with Real Fault Detection? A Large Scale Empirical Study on the Relationship Between Mutants and Real Faults , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).

[22]  Lionel C. Briand,et al.  Is mutation an appropriate tool for testing experiments? , 2005, ICSE.

[23]  Daniel P. Siewiorek,et al.  Fault Injection Experiments Using FIAT , 1990, IEEE Trans. Computers.

[24]  Yves Le Traon,et al.  Chapter Six - Mutation Testing Advances: An Analysis and Survey , 2019, Adv. Comput..

[25]  Goran Petrovic,et al.  State of Mutation Testing at Google , 2017, 2018 IEEE/ACM 40th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP).

[26]  Lionel C. Briand,et al.  Evolutionary Robustness Testing of Data Processing Systems Using Models and Data Mutation (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[27]  Lionel C. Briand,et al.  Test Generation and Test Prioritization for Simulink Models with Dynamic Behavior , 2019, IEEE Transactions on Software Engineering.

[28]  Adam Kiezun,et al.  Grammar-based whitebox fuzzing , 2008, PLDI '08.

[29]  Macario Polo,et al.  Mutation at System and Functional Levels , 2010, 2010 Third International Conference on Software Testing, Verification, and Validation Workshops.

[30]  A. Jefferson Offutt,et al.  Designing Deletion Mutation Operators , 2014, 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation.

[31]  Pierre-Yves Schobbens,et al.  Featured Model-Based Mutation Analysis , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[32]  Gregg Rothermel,et al.  An experimental determination of sufficient mutant operators , 1996, TSEM.

[33]  Patrice Godefroid,et al.  SAGE: Whitebox Fuzzing for Security Testing , 2012, ACM Queue.

[34]  Yves Le Traon,et al.  Mart: a mutant generation tool for LLVM , 2019, ESEC/SIGSOFT FSE.

[35]  Anup K. Ghosh,et al.  Testing the robustness of Windows NT software , 1998, Proceedings Ninth International Symposium on Software Reliability Engineering (Cat. No.98TB100257).

[36]  Domenico Cotroneo,et al.  Assessing Dependability with Software Fault Injection , 2016, ACM Comput. Surv..

[37]  M. Althoff,et al.  Model Conformance for Cyber-Physical Systems: A Survey , 2019 .

[38]  Sarfraz Khurshid,et al.  Operator-based and random mutant selection: Better together , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[39]  Mark Harman,et al.  Detecting Trivial Mutant Equivalences via Compiler Optimisations , 2018, IEEE Transactions on Software Engineering.

[40]  A. Jefferson Offutt,et al.  Experimental Evaluation of SDL and One-Op Mutation for C , 2014, 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation.

[41]  Aditya P. Mathur,et al.  Interface Mutation: An Approach for Integration Testing , 2001, IEEE Trans. Software Eng..

[42]  J. Offutt,et al.  Mutation testing implements grammar-based testing , 2006, Second Workshop on Mutation Analysis (Mutation 2006 - ISSRE Workshops 2006).

[43]  Mario Marchese,et al.  Small satellites and CubeSats: Survey of structures, architectures, and protocols , 2018, Int. J. Satell. Commun. Netw..

[44]  Ying Jiang,et al.  Contract-based mutation for testing components , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[45]  Rudolf Ramler,et al.  An empirical study on the application of mutation testing for a safety-critical industrial software system , 2017, SAC.

[46]  Inmaculada Medina-Bulo,et al.  Evaluation of Mutation Testing in a Nuclear Industry Case Study , 2018, IEEE Transactions on Reliability.

[47]  Marek Obitko,et al.  Understanding Data Heterogeneity in the Context of Cyber-Physical Systems Integration , 2017, IEEE Transactions on Industrial Informatics.

[48]  Zhu Mutation Testing for Physical Computing , 2018 .

[49]  Hong Zhao,et al.  Stress-Based and Path-Based Fault Injection , 1999, IEEE Trans. Computers.

[50]  Abhik Roychoudhury,et al.  Model-based whitebox fuzzing for program binaries , 2016, 2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE).

[51]  Mark Grechanik,et al.  Mutation Integration Testing , 2016, 2016 IEEE International Conference on Software Quality, Reliability and Security (QRS).