학술논문

Probability-Based Semantic Interpretation of Mutants
Document Type
Conference
Source
2014 IEEE Seventh International Conference on Software Testing, Verification and Validation Workshops Software Testing, Verification and Validation Workshops (ICSTW), 2014 IEEE Seventh International Conference on. :186-195 Mar, 2014
Subject
Computing and Processing
Semantics
Probability
Mathematical model
Equations
Numerical models
Measurement
Java
mutation analysis
semantic interpretation
static analysis
symbolic execution
mutant selection
Language
Abstract
Mutation analysis is a stringent and powerful technique for evaluating the ability of a test suite to find faults. It generates a large number of mutants and applies the test suite to them one at a time. As mutation analysis is computationally expensive, it is usually performed on a subset of mutants. The competent programmer hypothesis suggests that experienced software developers are more likely to make small mistakes. It is prudent therefore to focus on semantically small mutants that represent mistakes developers are likely to make. We previously introduced a technique to assess mutant semantics using static analysis by comparing the numerical range of their symbolic output expressions. This paper extends our previous work by considering the probability the output of a mutant is the same as the original program. We show how probability-based semantic interpretation can be used to select mutants that are semantically more similar than those selected by our previous technique. In addition to numerical outputs, it also provides support for modelling the semantics of Boolean variables, strings and composite objects.