Testing Self-Adaptive Systems Using Fault Injection and Combinatorial Testing

Verifying and validating systems that can adapt their behavior at runtime is still a research challenge that deserves great attention. In order to assure a certain behavior, we might prove that a self-adaptive system always fulfills certain properties, e.g., always behaving as specified in a given range. Such verification and validation techniques, however, assume the good case, i.e., that the system's environment is working as expected, i.e., that no fault occurs. In this paper, we relax this assumption, and consider testing self-adaptive systems in case of faults. In particular, we show how fault injection techniques and combinatorial testing can be used together for generating tests for self-adaptive systems.

[1]  Brian C. Williams,et al.  Diagnosing Multiple Faults , 1987, Artif. Intell..

[2]  Donald L. Kreher,et al.  Covering arrays , 2000 .

[3]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[4]  Jeff Yu Lei,et al.  Combinatorial Software Testing , 2009, Computer.

[5]  Raymond Reiter,et al.  A Theory of Diagnosis from First Principles , 1986, Artif. Intell..

[6]  Glenford J. Myers,et al.  The art of software testing (2. ed.) , 2004 .

[7]  F. Wotawa,et al.  Testing Diagnostics Components Supervising Functional Safety Requirements , 2015 .

[8]  Yu Lei,et al.  Introduction to Combinatorial Testing , 2013 .

[9]  Peter Fritzson,et al.  Principles of Object-Oriented Modeling and Simulation with Modelica 3.3: A Cyber-Physical Approach , 2014 .

[10]  Gary McGraw,et al.  Software fault injection: inoculating programs against errors , 1997 .

[11]  Michael L. Fredman,et al.  The AETG System: An Approach to Testing Based on Combinatiorial Design , 1997, IEEE Trans. Software Eng..

[12]  Jeff Yu Lei,et al.  ACTS: A Combinatorial Test Generation Tool , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation.

[13]  Myra B. Cohen,et al.  Covering arrays for efficient fault characterization in complex configuration spaces , 2004, IEEE Transactions on Software Engineering.

[14]  Stuart Reid Software fault injection: inoculating programs against errors. By Jeffrey Voas and Gary McGraw. Published by John Wiley & Sons Ltd, New York, 1998. ISBN: 0‐471‐18381‐4, 353 pages. Price: U.K. £39.95, U.S.A. $49.99, including one CD‐ROM, Hard Cover , 1999 .

[15]  Raymond Reiter,et al.  Characterizing Diagnoses , 1990, AAAI.