A Fortran language system for mutation-based software testing
Software—Practice & Experience
Structural Testing of Concurrent Programs
IEEE Transactions on Software Engineering
Mutation analysis using mutant schemata
ISSTA '93 Proceedings of the 1993 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 selective mutation
ICSE '93 Proceedings of the 15th international conference on Software Engineering
Model checking for programming languages using VeriSoft
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
All-du-path coverage for parallel programs
Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
Automated Software Engineering
Mutation-Based Testing of Concurrent Programs
Proceedings of the IEEE International Test Conference on Designing, Testing, and Diagnostics - Join Them
Concurrent Bug Patterns and How to Test Them
IPDPS '03 Proceedings of the 17th International Symposium on Parallel and Distributed Processing
Inter-Class Mutation Operators for Java
ISSRE '02 Proceedings of the 13th International Symposium on Software Reliability Engineering
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Applications of synchronization coverage
Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming
Empirical Software Engineering
MuJava: a mutation system for java
Proceedings of the 28th international conference on Software engineering
The class-level mutants of MuJava
Proceedings of the 2006 international workshop on Automation of software test
Towards a framework and a benchmark for testing tools for multi-threaded programs: Research Articles
Concurrency and Computation: Practice & Experience - Parallel and Distributed Systems: Testing and Debugging (PADTAD)
Mutation Operators for Concurrent Java (J2SE 5.0)
MUTATION '06 Proceedings of the Second Workshop on Mutation Analysis
Jumble Java Byte Code to Measure the Effectiveness of Unit Tests
TAICPART-MUTATION '07 Proceedings of the Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION
Comparative Assessment of Testing and Model Checking Using Program Mutation
TAICPART-MUTATION '07 Proceedings of the Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION
Testing Programs with the Aid of a Compiler
IEEE Transactions on Software Engineering
Learning from mistakes: a comprehensive study on real world concurrency bug characteristics
Proceedings of the 13th international conference on Architectural support for programming languages and operating systems
Introduction to Software Testing
Introduction to Software Testing
Sufficient mutation operators for measuring test effectiveness
Proceedings of the 30th international conference on Software engineering
Efficient mutation testing by checking invariant violations
Proceedings of the eighteenth international symposium on Software testing and analysis
Saturation-based testing of concurrent programs
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Multithreaded java program test generation
IBM Systems Journal
A randomized scheduler with probabilistic guarantees of finding bugs
Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems
PinPlay: a framework for deterministic replay and reproducible analysis of parallel programs
Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization
Type Sensitive Application of Mutation Operators for Dynamically Typed Programs
ICSTW '10 Proceedings of the 2010 Third International Conference on Software Testing, Verification, and Validation Workshops
Mutation Operators for Actor Systems
ICSTW '10 Proceedings of the 2010 Third International Conference on Software Testing, Verification, and Validation Workshops
Is operator-based mutant selection superior to random mutant selection?
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
MuTMuT: Efficient Exploration for Mutation Testing of Multithreaded Code
ICST '10 Proceedings of the 2010 Third International Conference on Software Testing, Verification and Validation
Finding and reproducing Heisenbugs in concurrent programs
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Proceedings of the 33rd International Conference on Software Engineering
Paraµ -- A Partial and Higher-Order Mutation Tool with Concurrency Operators
ICSTW '11 Proceedings of the 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops
Strong higher order mutation-based test data generation
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Improved multithreaded unit testing
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
An Analysis and Survey of the Development of Mutation Testing
IEEE Transactions on Software Engineering
CoreRacer: a practical memory race recorder for multicore x86 TSO processors
Proceedings of the 44th Annual IEEE/ACM International Symposium on Microarchitecture
Evaluating Machine-Independent Metrics for State-Space Exploration
ICST '12 Proceedings of the 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation
Proceedings of the 2012 International Symposium on Software Testing and Analysis
BALLERINA: automatic generation and clustering of efficient random unit tests for multithreaded code
Proceedings of the 34th International Conference on Software Engineering
Coverage metrics for saturation-based and search-based testing of concurrent software
RV'11 Proceedings of the Second international conference on Runtime verification
Faster mutation testing inspired by test prioritization and reduction
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Faster mutation testing inspired by test prioritization and reduction
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Injecting mechanical faults to localize developer faults for evolving software
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Hi-index | 0.00 |
Concurrent code is becoming increasingly important with the advent of multi-cores, but testing concurrent code is challenging. Researchers are developing new testing techniques and test suites for concurrent code, but evaluating these techniques and test suites often uses a small number of real or manually seeded bugs. Mutation testing allows creating a large number of buggy programs to evaluate test suites. However, performing mutation testing is expensive even for sequential code, and the cost is higher for concurrent code where each test has to be executed for many (possibly all) thread schedules. The most widely used technique to speed up mutation testing is selective mutation, which reduces the number of mutants by applying only a subset of mutation operators such that test suites that kill all mutants generated by this subset also kill (almost) all mutants generated by all mutation operators. To date, selective mutation has been used only for sequential mutation operators. This paper explores selective mutation for concurrent mutation operators. Our results identify several sets of concurrent mutation operators that can effectively reduce the number of mutants, show that operator-based selection is slightly better than random mutant selection, and show that sequential and concurrent mutation operators are independent, demonstrating the importance of studying concurrent mutation operators.