We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Mutation Testing Leaving the Stone Age

Formal Metadata

Title
Mutation Testing Leaving the Stone Age
Title of Series
Number of Parts
611
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production Year2017

Content Metadata

Subject Area
Genre
Abstract
For decades developers try to build a bug free software. Numerous techniquesand metrics were developed. However, there is still a need in an approach thatcan both assert program domain and provide some reliable metrics. And suchapproach exists. It is called Mutation Testing. Here is a brief overview: There is a function and a test for that function. Any semantic change in thefunction (so called 'mutant') should break the test ('kill mutant'). If that'snot the case, then mutant is considered as survived. No mutants should surviveever. If they are, then either the test is bad or the function is not correct. Research in this area exists since 70's. However, this approach is not widelyadopted. The computational cost is one of the blockers. Another one, is theway such systems are implemented: most of them do mutations at the AST level,hence they are tightly coupled to the particular languages. We want to present you Mull: our implementation of Mutation Testing system. Weuse JIT and runtime compilation to speedup the system and make it accessiblefor everyday usage. Besides that we go down to the IR level, making the systemapplicable for any LLVM-based language such as C, C++, Rust, Objective-C, andmany others.