1 | Jeremy S. Bradbury and James R. Cordy and Juergen Dingel Comparative Assessment of Testing and Model Checking Using Program Mutation Proceedings of the 3rd Workshop on Mutation Analysis (MUTATION'07)Windsor, UK, 2007. |
|
| Abstract: Developing correct concurrent code is more difficult than developing correct sequential code. This difficulty is due in part to the many different, possibly unexpected, executions of the program, and leads to the need for special quality assurance techniques for concurrent programs such as randomized testing and state space exploration. In this paper an approach is used that assesses testing and formal analysis tools using metrics to measure the effectiveness and efficiency of each technique at finding concurrency bugs. Using program mutation, the assessment method creates a range of faulty versions of a program and then evaluates the ability of various testing and formal analysis tools to detect these faults. The approach is implemented and automated in an experimental mutation analysis framework (ExMAn) which allows results to be more easily reproducible. To demonstrate the approach, we present the results of a comparison of testing using the IBM tool ConTest and model checking using the NASA tool Java PathFinder (JPF). |
| @INPROCEEDINGS{BradburyCD07,
author = {Jeremy S. Bradbury and James R. Cordy and Juergen Dingel},
title = {Comparative Assessment of Testing and Model Checking Using Program Mutation},
booktitle = {Proceedings of the 3rd Workshop on Mutation Analysis (MUTATION'07)},
year = {2007},
address = {Windsor, UK},
month = {},
pages = {210-222}
} |
2 | Jeremy S. Bradbury and James R. Cordy and Juergen Dingel Mutation Operators for Concurrent Java (J2SE 5.0) Proceedings of the 2nd Workshop on Mutation Analysis (MUTATION'06)Raleigh, North Carolina, November 2006. |
|
| Abstract: The current version of Java (J2SE 5.0) provides a high level of support for concurreny in comparison to previous versions. For example, programmers using J2SE 5.0 can now achieve synchronization between concurrent threads using explicit locks, semaphores, barriers, latches, or exchangers. Furthermore, built-in concurrent data structures such as hash maps and queues, built-in thread pools, and atomic variables are all at the programmer's disposal. We are interested in using mutation analysis to evaluate, compare and improve quality assurance techniques for concurrent Java programs. Furthermore, we believe that the current set of method mutation operators and class operators proposed in the literature are insufficient to evaluate concurrent Java source code because the majority of operators do not directly mutate the portions of code responsible for synchronization. In this paper we will provide an overview of concurrency constructs in J2SE 5.0 and a new set of concurrent mutation operators. We will justify the operators by categorizing them with an existing bug pattern taxonomy for concurrency. Most of the bug patterns in the taxonomy have been used to classify real bugs in a benchmark of concurrent Java applications. |
| @INPROCEEDINGS{BradburyCD06a,
author = {Jeremy S. Bradbury and James R. Cordy and Juergen Dingel},
title = {Mutation Operators for Concurrent Java (J2SE 5.0)},
booktitle = {Proceedings of the 2nd Workshop on Mutation Analysis (MUTATION'06)},
year = {2006},
address = {Raleigh, North Carolina},
month = {November},
pages = {83–92}
} |
3 | Jeremy S. Bradbury and James R. Cordy and Juergen Dingel ExMAn: A Generic and Customizable Framework for Experimental Mutation Analysis Proceedings of the 2nd Workshop on Mutation Analysis (MUTATION'06)Raleigh, North Carolina, November 2006. |
|
| Abstract: Current mutation analysis tools are primarily used to compare different test suites and are tied to a particular programming language. In this paper we present the ExMAn experimental mutation analysis framework - ExMAn is automated, general and flexible and allows for the comparison of different quality assurance techniques such as testing, model checking, and static analysis. The goal of ExMAn is to allow for automatic mutation analysis that can be reproduced by other researchers. After describing ExMAn, we present a scenario of using ExMAn to compare testing with static analysis of temporal logic properties. We also provide both the benefits and the current limitations of using our framework. |
| @INPROCEEDINGS{BradburyCD06,
author = {Jeremy S. Bradbury and James R. Cordy and Juergen Dingel},
title = {ExMAn: A Generic and Customizable Framework for Experimental Mutation Analysis},
booktitle = {Proceedings of the 2nd Workshop on Mutation Analysis (MUTATION'06)},
year = {2006},
address = {Raleigh, North Carolina},
month = {November},
pages = {57–62}
} |