Authors
Ahmet Celik, Karl Palmskog, Marinela Parovic, Emilio Jesús Gallego Arias, Milos Gligoric
Publication date
2019/11/11
Conference
2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)
Pages
539-551
Publisher
IEEE
Description
Mutation analysis, which introduces artificial defects into software systems, is the basis of mutation testing, a technique widely applied to evaluate and enhance the quality of test suites. However, despite the deep analogy between tests and formal proofs, mutation analysis has seldom been considered in the context of deductive verification. We propose mutation proving, a technique for analyzing verification projects that use proof assistants. We implemented our technique for the Coq proof assistant in a tool dubbed mCoq. mCoq applies a set of mutation operators to Coq definitions of functions and datatypes, inspired by operators previously proposed for functional programming languages. mCoq then checks proofs of lemmas affected by operator application. To make our technique feasible in practice, we implemented several optimizations in mCoq such as parallel proof checking. We applied mCoq to several …
Total citations
20202021202220233313
Scholar articles
A Celik, K Palmskog, M Parovic, EJG Arias, M Gligoric - 2019 34th IEEE/ACM International Conference on …, 2019