Mutant-Kraken: A Mutation Testing Tool for Kotlin
Kotlin, a Java Virtual Machine (JVM) based language, offers modern features such as concise syntax and enhanced null safety and was adopted by Google as the preferred language for Android development. Despite the rise in popularity, there is a notable absence of comprehensive mutation testing tools for Kotlin developers. Existing tools, such as PIT and arcmutate, face challenges in effectively supporting Kotlin mutation testing. The lack of specialized mutation operators and developer-friendly tools for Kotlin poses challenges to developers and testers, impacting the overall reliability and quality of Kotlin codebases. This paper aims to fill this gap by introducing Kotlin-specific mutation operators and a flexible, open-source, developer-friendly tool, Mutant-Kraken. Mutant-Kraken leverages traditional mutation testing concepts while tailoring to the unique aspects of Kotlin by investigating unique programming features of Kotlin. Mutant-Kraken adopts an approach that utilizes the Tree-sitter parser to create an Abstract Syntax Tree (AST) for Kotlin files, allowing source code-level mutations. The tool’s four-phase process includes gathering files, generating mutants, building and testing, and producing clear HTML-based mutation analysis results. The approach emphasizes configurability, enabling developers to customize settings such as ignored files, timeout, and mutation operators, making it adaptable to diverse Kotlin projects. Mutant-Kraken includes seven, novel Kotlin-specific mutation operators, addressing features like null checks and functional programming. In an experimental study on three open-source Kotlin projects, Mutant-Kraken has been evaluated to be feasible, efficient, and effective.
Tue 28 MayDisplayed time zone: Eastern Time (US & Canada) change
11:00 - 12:30 | |||
11:00 30mTalk | Mutant-Kraken: A Mutation Testing Tool for Kotlin Mutation Josue Morales Towson University, Lin Deng Towson University, Josh Dehlinger Towson University, Suranjan Chakraborty Towson University | ||
11:30 30mTalk | Timed Model-Based Mutation Operators for Simulink Models Mutation | ||
12:00 30mTalk | Improving the Efficacy of Testing Scientific Software: Insights from Mutation Testing Mutation |