Measuring Coverage of Prolog Programs Using Mutation Testing

Published in Proceedings WFLP (International Workshop on Functional and (Constraint) Logic Programming), 2019

Testing is an important aspect in professional software development, both to avoid and identify bugs as well as to increase maintainability. However, increasing the number of tests beyond a reasonable amount hinders development progress. To decide on the completeness of a test suite, many approaches to assert test coverage have been suggested. Yet, frameworks for logic programs remain scarce. In this paper, we introduce a framework for Prolog programs measuring test coverage using mutations. We elaborate the main ideas of mutation testing and transfer them to logic programs. To do so, we discuss the usefulness of different mutations in the context of Prolog and empirically evaluate them in a new mutation testing framework on different examples.

Alexandros Efremidis, Joshua Schmidt, Sebastian Krings and Philipp Körner. (2019). "Measuring Coverage of Prolog Programs Using Mutation Testing" Proceedings WFLP (International Workshop on Functional and (Constraint) Logic Programming). https://link.springer.com/chapter/10.1007/978-3-030-16202-3_3