Saved in:
Bibliographic Details
Main Authors: Gross, Jason, Zimmermann, Théo, Agrawal, Rajashree, Chlipala, Adam
Format: Preprint
Published: 2022
Subjects:
Online Access:https://arxiv.org/abs/2202.13823
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866915189925871616
author Gross, Jason
Zimmermann, Théo
Agrawal, Rajashree
Chlipala, Adam
author_facet Gross, Jason
Zimmermann, Théo
Agrawal, Rajashree
Chlipala, Adam
contents As the adoption of proof assistants increases, there is a need for efficiency in identifying, documenting, and fixing compatibility issues that arise from proof assistant evolution. We present the Coq Bug Minimizer, a tool for reproducing buggy behavior with minimal and standalone files, integrated with coqbot to trigger automatically on Coq reverse CI failures. Our tool eliminates the overhead of having to download, set up, compile, and then explore and understand large developments: enabling Coq developers to easily obtain modular test-case files for fast experimentation. In this paper, we describe insights about how test-case reduction is different in Coq than in traditional compilers. We expect that our insights will generalize to other proof assistants. We evaluate the Coq Bug Minimizer on over 150 CI failures. Our tool succeeds in reducing failures to smaller test cases in roughly 75% of the time. The minimizer produces a fully standalone test case 89% of the time, and it is on average about one-third the size of the original test. The average reduced test case compiles in 1.25 seconds, with 75% taking under half a second.
format Preprint
id arxiv_https___arxiv_org_abs_2202_13823
institution arXiv
publishDate 2022
record_format arxiv
spellingShingle Automatic Test-Case Reduction in Proof Assistants: A Case Study in Coq
Gross, Jason
Zimmermann, Théo
Agrawal, Rajashree
Chlipala, Adam
Software Engineering
As the adoption of proof assistants increases, there is a need for efficiency in identifying, documenting, and fixing compatibility issues that arise from proof assistant evolution. We present the Coq Bug Minimizer, a tool for reproducing buggy behavior with minimal and standalone files, integrated with coqbot to trigger automatically on Coq reverse CI failures. Our tool eliminates the overhead of having to download, set up, compile, and then explore and understand large developments: enabling Coq developers to easily obtain modular test-case files for fast experimentation. In this paper, we describe insights about how test-case reduction is different in Coq than in traditional compilers. We expect that our insights will generalize to other proof assistants. We evaluate the Coq Bug Minimizer on over 150 CI failures. Our tool succeeds in reducing failures to smaller test cases in roughly 75% of the time. The minimizer produces a fully standalone test case 89% of the time, and it is on average about one-third the size of the original test. The average reduced test case compiles in 1.25 seconds, with 75% taking under half a second.
title Automatic Test-Case Reduction in Proof Assistants: A Case Study in Coq
topic Software Engineering
url https://arxiv.org/abs/2202.13823