Formal Methods for Protocol Testing: A Detailed Study
IEEE Transactions on Software Engineering
Analysis of Faults in an N-Version Software Experiment
IEEE Transactions on Software Engineering
A Fortran language system for mutation-based software testing
Software—Practice & Experience
Investigations of the software testing coupling effect
ACM Transactions on Software Engineering and Methodology (TOSEM)
A semantic model of program faults
ISSTA '96 Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis
An experimental determination of sufficient mutant operators
ACM Transactions on Software Engineering and Methodology (TOSEM)
An experimental evaluation of data flow and mutation testing
Software—Practice & Experience
The STATEMATE semantics of statecharts
ACM Transactions on Software Engineering and Methodology (TOSEM)
An experimental evaluation of selective mutation
ICSE '93 Proceedings of the 15th international conference on Software Engineering
All-uses vs mutation testing: an experimental comparison of effectiveness
Journal of Systems and Software
Further empirical studies of test effectiveness
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Requirements-level semantics for UML statecharts
Fourth International Conference on Formal methods for open object-based distributed systems IV
ADA 95 Rationale: The Language, the Standard Libraries
ADA 95 Rationale: The Language, the Standard Libraries
Modeling Reactive Systems with Statecharts: The Statemate Approach
Modeling Reactive Systems with Statecharts: The Statemate Approach
An Empirical Evaluation of Weak Mutation
IEEE Transactions on Software Engineering
Model Checking of Message Sequence Charts
CONCUR '99 Proceedings of the 10th International Conference on Concurrency Theory
A Comparison of Statecharts Variants
ProCoS Proceedings of the Third International Symposium Organized Jointly with the Working Group Provably Correct Systems on Formal Techniques in Real-Time and Fault-Tolerant Systems
Mutation Testing Applied to Validate Specifications Based on Statecharts
ISSRE '99 Proceedings of the 10th International Symposium on Software Reliability Engineering
Challenging Formal Specifications by Mutation: a CSP security example
APSEC '03 Proceedings of the Tenth Asia-Pacific Software Engineering Conference Software Engineering Conference
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Is mutation an appropriate tool for testing experiments?
Proceedings of the 27th international conference on Software engineering
Search-based mutation testing for Simulink models
GECCO '05 Proceedings of the 7th annual conference on Genetic and evolutionary computation
From genetic to bacteriological algorithms for mutation-based testing: Research Articles
Software Testing, Verification & Reliability
Empirical Software Engineering
Evaluation of mutation testing for object-oriented programs
Proceedings of the 28th international conference on Software engineering
Finding Sufficient Mutation Operators via Variable Reduction
MUTATION '06 Proceedings of the Second Workshop on Mutation Analysis
Weak Mutation Testing and Completeness of Test Sets
IEEE Transactions on Software Engineering
Testing Programs with the Aid of a Compiler
IEEE Transactions on Software Engineering
Search-based failure discovery using testability transformations to generate pseudo-oracles
Proceedings of the 11th Annual conference on Genetic and evolutionary computation
The influence of size and coverage on test suite effectiveness
Proceedings of the eighteenth international symposium on Software testing and analysis
TXL - A Language for Programming Language Tools and Applications
Electronic Notes in Theoretical Computer Science (ENTCS)
ICSTW '10 Proceedings of the 2010 Third International Conference on Software Testing, Verification, and Validation Workshops
Ordering mutants to minimise test effort in mutation testing
FATES'04 Proceedings of the 4th international conference on Formal Approaches to Software Testing
Hi-index | 0.00 |
Mutation testing is a powerful and flexible test technique. Traditional mutation testing makes a small change to the syntax of a description (usually a program) in order to create a mutant. A test suite is considered to be good if it distinguishes between the original description and all of the (functionally non-equivalent) mutants. These mutants can be seen as representing potential small slips and thus mutation testing aims to produce a test suite that is good at finding such slips. It has also been argued that a test suite that finds such small changes is likely to find larger changes. This paper describes a new approach to mutation testing, called semantic mutation testing. Rather than mutate the description, semantic mutation testing mutates the semantics of the language in which the description is written. The mutations of the semantics of the language represent possible misunderstandings of the description language and thus capture a different class of faults. Since the likely misunderstandings are highly context dependent, this context should be used to determine which semantic mutants should be produced. The approach is illustrated through examples with statecharts and C code. The paper also describes a semantic mutation testing tool for C and the results of experiments that investigated the nature of some semantic mutation operators for C.