2014 IEEE Seventh International Conference on Software Testing, Verification and Validation Workshops 2014
DOI: 10.1109/icstw.2014.24
|View full text |Cite
|
Sign up to set email alerts
|

Experimental Evaluation of Mutation Testing Approaches to Python Programs

Abstract: Mutation testing of Python programs raises a problem of incompetent mutants. Incompetent mutants cause execution errors due to inconsistency of types that cannot be resolved before run-time. We present a practical approach in which incompetent mutants can be generated, but the solution is transparent for a user and incompetent mutants are detected by a mutation system during test execution. Experiments with 20 traditional and object-oriented operators confirmed that the overhead can be accepted. The paper pres… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
15
0

Year Published

2014
2014
2023
2023

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 21 publications
(15 citation statements)
references
References 21 publications
0
15
0
Order By: Relevance
“…Derezinska et al [42] proposed four algorithms to produce HOMs for Python programs. These algorithms are: Between-Operators, Each-Choice, FirstToLast, and Random.…”
Section: Related Workmentioning
confidence: 99%
“…Derezinska et al [42] proposed four algorithms to produce HOMs for Python programs. These algorithms are: Between-Operators, Each-Choice, FirstToLast, and Random.…”
Section: Related Workmentioning
confidence: 99%
“…PROTEUM/IM (Vincenzi et al, 2006) instruments the original code by using a descriptor language that assists in storing the nodes of the program graph reached by each test case, thus speeding up the mutant execution later. MutPy for Python (Derezinska & Halas, 2014) also implements a coverage analysis to reduce mutants generated and test cases executed. Bacterio (Mateo & Usaola, 2012) uses the mutant schemata technique (Untch et al, 1993) in order to reduce compilation times.…”
Section: Use Of Coverage Informationmentioning
confidence: 99%
“…Coverage information is usually collected in different mutation tools to reduce the computational cost of applying mutation testing (Vincenzi et al, 2006;Schuler & Zeller, 2009;Derezińska & Szustek, 2012;Mateo & Usaola, 2012;Derezinska & Halas, 2014), but we used this information to devise a new metric to measure operator effectiveness. Bacterio (Mateo & Usaola, 2012) retrieves coverage data to prevent unnecessary executions of mutants generated with both traditional and class operators for Java.…”
Section: Coveragementioning
confidence: 99%
See 1 more Smart Citation
“…By mining implementations directly from the IDE's version history rather than using final submissions, we capture a broader -and thus more interesting for testing -spectrum of buggy and incomplete solutions. Second, we ran mutpy [13], a mutation testing tool, on correct solutions to introduce a set of additional faulty implementations M, giving us an aggregate set of implementations A = S ∪ M. As a supplement to S, M serves two purposes. First, it introduces new test signatures for students to face as they develop their tests.…”
Section: Corpus Constructormentioning
confidence: 99%