2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE) 2013
DOI: 10.1109/ase.2013.6693142
|View full text |Cite
|
Sign up to set email alerts
|

CCmutator: A mutation generator for concurrency constructs in multithreaded C/C++ applications

Abstract: We introduce CCmutator, a mutation generation tool for multithreaded C/C++ programs written using POSIX threads and the recently standardized C++11 concurrency constructs. CCmutator is capable of performing partial mutations and generating higher order mutants, which allow for more focused and complex combinations of elementary mutation operators leading to higher quality mutants. We have implemented CCmutator based on the popular Clang/LLVM compiler framework, which allows CCmutator to be extremely scalable a… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
26
0

Year Published

2017
2017
2023
2023

Publication Types

Select...
5
2

Relationship

0
7

Authors

Journals

citations
Cited by 30 publications
(26 citation statements)
references
References 17 publications
0
26
0
Order By: Relevance
“…The approach of traversing the AST has also been taken in other mutation systems for mainstream languages, like Major for Java [32], whereas Clang has been used in CCMutator [25] for multithreaded C/C++ programs and MILU [33] for the C programming language. The main benefit of analyzing the AST is the consistent search of potential locations, omitting higher-level details.…”
Section: Mutation Operator Implementationmentioning
confidence: 99%
See 1 more Smart Citation
“…The approach of traversing the AST has also been taken in other mutation systems for mainstream languages, like Major for Java [32], whereas Clang has been used in CCMutator [25] for multithreaded C/C++ programs and MILU [33] for the C programming language. The main benefit of analyzing the AST is the consistent search of potential locations, omitting higher-level details.…”
Section: Mutation Operator Implementationmentioning
confidence: 99%
“…In the case of mutation systems for C++ [1], state-of-the-art commercial software adopting mutation testing within their testing techniques, like Insure++ and PlexTest, do not cover mutations at the class level, but only some standard operations (e.g., the removal of expressions and subexpressions in PlexTest). As for open-source systems, CCMutator [25] is a mutation generator for concurrency constructs in C or C++ applications.…”
Section: Challenges To Address In C++mentioning
confidence: 99%
“…Since our metrics implemented by LLVM's intermediate representation (IR) are based on single static assignment (SSA) form, we can potentially leverage compiler front-ends to handle other languages. We leverage CCMutator [55], a concurrency mutation tool, to generate mutants of concurrent programs.…”
Section: Methodsmentioning
confidence: 99%
“…To generate higher order mutants for concurrent programs, Kaiser et al [47] propose a set of mutation operators for multithreaded Java programs based on concurrency bug patterns that include subtle concurrency faults (e.g., data races). Kusano et al [55] implemented CCmutator based on the Clang/LLVM compiler framework to inject concurrency faults for multithreaded C/C++ applications. Their work considers both first-order and higherorder mutants.…”
Section: Mutation Analysismentioning
confidence: 99%
See 1 more Smart Citation