Authors
Kush Jain, Karl Palmskog, Ahmet Celik, Emilio Jesús Gallego Arias, Milos Gligoric
Publication date
2020/6/27
Book
Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Companion Proceedings
Pages
89-92
Description
Software developed and verified using proof assistants, such as Coq, can provide trustworthiness beyond that of software developed using traditional programming languages and testing practices. However, guarantees from formal verification are only as good as the underlying definitions and specification properties. If properties are incomplete, flaws in definitions may not be captured during verification, which can lead to unexpected system behavior and failures. Mutation analysis is a general technique for evaluating specifications for adequacy and completeness, based on making small-scale changes to systems and observing the results. We demonstrate mCoq, the first mutation analysis tool for Coq projects. mCoq changes Coq definitions, with each change producing a modified project version, called a mutant, whose proofs are exhaustively checked. If checking succeeds, i.e., the mutant is live, this may …
Total citations
2022202325
Scholar articles
K Jain, K Palmskog, A Celik, EJG Arias, M Gligoric - Proceedings of the ACM/IEEE 42nd International …, 2020