@article{BugariuTerGabrielyanMueller22, author = {A. Bugariu and A. Ter-Gabrielyan and P. M\"uller}, title = {Identifying Overly Restrictive Matching Patterns in SMT-based Program Verifiers (extended version)}, year = {2023}, month = {jun}, issue_date = {June 2023}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, issn = {0934-5043}, volume = {35}, number = {2}, url = {https://doi.org/10.1145/3571748}, doi = {10.1145/3571748}, abstract = {Universal quantifiers occur frequently in proof obligations produced by program verifiers, for instance, to axiomatize uninterpreted functions and to statically express properties of arrays. SMT-based verifiers typically reason about them via E-matching, an SMT algorithm that requires syntactic matching patterns to guide the quantifier instantiations. Devising good matching patterns is challenging. In particular, overly restrictive patterns may lead to spurious verification errors if the quantifiers needed for proof are not instantiated; they may also conceal unsoundness caused by inconsistent axiomatizations. In this article, we present the first technique that identifies and helps the users and the developers of program verifiers remedy the effects of overly restrictive matching patterns. We designed a novel algorithm to synthesize missing triggering terms required to complete unsatisfiability proofs via E-matching. Tool developers can use this information to refine their matching patterns and prevent similar verification errors, or to fix a detected unsoundness.}, journal = {Form. Asp. Comput.}, articleno = {7}, numpages = {27}, keywords = {E-matching, Triggering terms, SMT, Matching patterns}, urltext = {[Publisher]} }