The verifying compiler: A grand challenge for computing research
Journal of the ACM (JACM)
Proving Pointer Programs in Hoare Logic
MPC '00 Proceedings of the 5th International Conference on Mathematics of Program Construction
The design and implementation of VAMPIRE
AI Communications - CASC
Modular data structure verification
Modular data structure verification
Full functional verification of linked data structures
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
New results on rewrite-based satisfiability procedures
ACM Transactions on Computational Logic (TOCL)
Unifying type checking and property checking for low-level code
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
VCC: A Practical System for Verifying Concurrent C
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
A Precise Yet Efficient Memory Model For C
Electronic Notes in Theoretical Computer Science (ENTCS)
The TPTP Problem Library and Associated Infrastructure
Journal of Automated Reasoning
Proceedings of the 7th International Workshop on Satisfiability Modulo Theories
Faster and More Complete Extended Static Checking for the Java Modeling Language
Journal of Automated Reasoning
Verifying the Microsoft Hyper-V Hypervisor with VCC
FM '09 Proceedings of the 2nd World Congress on Formal Methods
CAV'07 Proceedings of the 19th international conference on Computer aided verification
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Dafny: an automatic program verifier for functional correctness
LPAR'10 Proceedings of the 16th international conference on Logic for programming, artificial intelligence, and reasoning
Boogie: a modular reusable verifier for object-oriented programs
FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
The location linking concept: a basis for verification of code using pointers
VSTTE'12 Proceedings of the 4th international conference on Verified Software: theories, tools, experiments
Hi-index | 0.00 |
Software verification is one of the most prominent application areas for automatic reasoning systems, but their potential improvement is limited by shortage of good benchmarks. Current benchmarks are usually large but shallow, require decision procedures, or have soundness problems. In contrast, we propose a family of benchmarks in first-order logic with equality which is scalable, relatively simple to understand, yet closely resembles difficult verification conditions stemming from real-world C code. Based on this benchmark, we present a detailed comparison of different heap encodings using a number of SMT solvers and ATPs. Our results led to a performance gain of an order of magnitude for the C code verifier VCC.