The SESAME Experience: from Assembly Languages to Declarative Models

SESAME (Software Environment for Software Analysis by Mutation Effects) is a fault injection tool using mutation as the target fault model. It has been used for 15 years to support dependability research at LAAS-CNRS. A salient feature of SESAME is that it is multi-language. This made it possible to inject faults into software written in assembly languages, procedural languages (Pascal, C), a data-flow language (LUSTRE), as well as in a declarative language for temporal planning in robotics. This paper provides an overview of the tool, and reports on its use in experimental research addressing either fault removal or fault tolerance topics.

[1]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[2]  Márcio Eduardo Delamaro,et al.  Proteum - A Tool for the Assessment of Test Adequacy for C Programs User's guide , 1996 .

[3]  A. Jefferson Offutt The Coupling Effect: Fact or Fiction , 1989, Symposium on Testing, Analysis, and Verification.

[4]  Jean Arlat,et al.  MAFALDA: A Series of Prototype Tools for the Assessment of Real Time COTS Microkernel-Based Systems , 2003 .

[5]  Pascale Thévenod-Fosse,et al.  A mutation analysis tool for Java programs , 2003, International Journal on Software Tools for Technology Transfer.

[6]  A. Jefferson Offutt,et al.  Using compiler optimization techniques to detect equivalent mutants , 1994, Softw. Test. Verification Reliab..

[7]  Hélène Waeselynck,et al.  Validation du test du logiciel par injection de fautes : L'outil SESAME , 1998 .

[8]  A. Jefferson Offutt,et al.  Automatically detecting equivalent mutants and infeasible paths , 1997 .

[9]  Alain Denise,et al.  A generic method for statistical testing , 2004, 15th International Symposium on Software Reliability Engineering.

[10]  Yves Crouzet,et al.  Software Statistical Testing , 1995 .

[11]  Mark Harman,et al.  Using program slicing to assist in the detection of equivalent mutants , 1999, Softw. Test. Verification Reliab..

[12]  Jean Arlat,et al.  Fault Injection for Dependability Validation: A Methodology and Some Applications , 1990, IEEE Trans. Software Eng..

[13]  K. N. King,et al.  A fortran language system for mutation‐based software testing , 1991, Softw. Pract. Exp..

[14]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.

[15]  A. Jefferson Offutt,et al.  Mutation 2000: uniting the orthogonal , 2001 .

[16]  Malik Ghallab,et al.  Representation and Control in IxTeT, a Temporal Planner , 1994, AIPS.

[17]  Hélène Waeselynck,et al.  Deriving test sets from partial proofs , 2004, 15th International Symposium on Software Reliability Engineering.

[18]  Yves Crouzet,et al.  Benchmarking the dependability of Windows and Linux using PostMark/spl trade/ workloads , 2005, 16th IEEE International Symposium on Software Reliability Engineering (ISSRE'05).

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

[20]  Raja Chatila,et al.  Fault Tolerance in Autonomous Systems: How and How Much? , 2005 .

[21]  Johan Karlsson,et al.  MEFISTO: A Series of Prototype Tools for Fault Injection into VHDL Models , 2003 .

[22]  Pascale Thévenod-Fosse,et al.  Software error analysis: a real case study involving real faults and mutations , 1996, ISSTA '96.