Mutation testing is a prominent technique for evaluating the effectiveness of a test suite. Existing tools developed for supporting this technique are applicable for mainstream programming languages like C and Java. Mutation testing tools and mutation operators used by these tools are inherently language-specific. Moreover, there is a lack of industrial case studies for evaluating mutation testing tools and techniques in practice. In this article, we introduce muPLSQL, a tool for applying mutation testing on PL/SQL programs, facilitating automation for both mutant generation and test execution. We utilized existing mutation operators that are applicable for PL/SQL. In addition, we introduced some operators specifically for this language. We conducted an industrial case study for evaluating the applicability and usefulness of our tool and mutation testing in general. We applied mutation testing on a business support software system. muPLSQL generated a total of 5,939 mutants. The number of live mutants was 680. Manual inspection of live mutants led to improvements of the existing test suite. In addition, we found 8 faults in source code during the inspection process. Test execution against the mutants required around 40 hours. The overall effort was almost one person month.
Tue 18 AprDisplayed time zone: Dublin change
11:00 - 12:30 | Session 8: Mutation TestingJournal-First Papers / Research Papers at Grand canal Chair(s): Renzo Degiovanni SnT, University of Luxembourg | ||
11:00 20mTalk | Mutation testing of PL/SQL programs Journal-First Papers | ||
11:20 20mTalk | How Closely are Common Mutation Operators Coupled to Real Faults? Research Papers | ||
11:40 20mTalk | Batching Non-Conflicting Mutations for Efficient, Safe, Parallel Mutation Analysis in Rust Research Papers | ||
12:00 20mTalk | MUTAGEN: Reliable Coverage-Guided, Property-Based Testing using Exhaustive Mutations Research Papers Agustín Mista Chalmers University of Technology, Alejandro Russo Chalmers University of Technology, Sweden |