QuickCheck: a lightweight tool for random testing of Haskell programs
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Template meta-programming for Haskell
Proceedings of the 2002 ACM SIGPLAN workshop on Haskell
System Description: SystemOn TPTP
CADE-17 Proceedings of the 17th International Conference on Automated Deduction
Planware ¾ Domain-Specific Synthesis of High-Performance Schedulers
ASE '98 Proceedings of the 13th IEEE international conference on Automated software engineering
The application of theorem proving to question-answering systems
The application of theorem proving to question-answering systems
Random Testing in Isabelle/HOL
SEFM '04 Proceedings of the Software Engineering and Formal Methods, Second International Conference
Generating customized verifiers for automatically generated code
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
The TPTP Problem Library and Associated Infrastructure
Journal of Automated Reasoning
Deciding Effectively Propositional Logic Using DPLL and Substitution Sets
Journal of Automated Reasoning
Encodings of problems in effectively propositional logic
SAT'07 Proceedings of the 10th international conference on Theory and applications of satisfiability testing
Finding counter examples in induction proofs
TAP'08 Proceedings of the 2nd international conference on Tests and proofs
Functional testing in the focal environment
TAP'08 Proceedings of the 2nd international conference on Tests and proofs
What's decidable about arrays?
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
Hi-index | 0.00 |
Program verification systems based on automated theorem provers rely on user-provided axioms in order to verify domain-specific properties of code. However, formulating axioms correctly (that is, formalizing properties of an intended mathematical interpretation) is non-trivial in practice, and avoiding or even detecting unsoundness can sometimes be difficult to achieve. Moreover, speculating soundness of axioms based on the output of the provers themselves is not easy since they do not typically give counterexamples. We adopt the idea of model-based testing to aid axiom authors in discovering errors in axiomatizations. To test the validity of axioms, users define a computational model of the axiomatized logic by giving interpretations to the function symbols and constants in a simple declarative programming language. We have developed an axiom testing framework that helps automate model definition and test generation using off-the-shelf tools for meta-programming, property-based random testing, and constraint solving. We have experimented with our tool to test the axioms used in Auto-Cert, a program verification system that has been applied to verify aerospace flight code using a first-order axiomatization of navigational concepts, and were able to find counterexamples for a number of axioms.