Extensions of first order logic
Extensions of first order logic
From system F to typed assembly language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Types and programming languages
Types and programming languages
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Interpretation of a Mizar-Like Logic in First-Order Logic
Selected Papers from Automated Deduction in Classical and Non-Classical Logics
TYPES '00 Selected papers from the International Workshop on Types for Proofs and Programs
Simplify: a theorem prover for program checking
Journal of the ACM (JACM)
Translating Higher-Order Clauses to First-Order Clauses
Journal of Automated Reasoning
Handling Polymorphism in Automated Deduction
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
Implementing polymorphism in SMT solvers
SMT '08/BPR '08 Proceedings of the Joint Workshops of the 6th International Workshop on Satisfiability Modulo Theories and 1st International Workshop on Bit-Precise Reasoning
Reasoning about comprehensions with first-order SMT solvers
Proceedings of the 2009 ACM symposium on Applied Computing
A reachability predicate for analyzing low-level software
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Boogie: a modular reusable verifier for object-oriented programs
FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
Dafny meets the verification benchmarks challenge
VSTTE'10 Proceedings of the Third international conference on Verified software: theories, tools, experiments
To goto where no statement has gone before
VSTTE'10 Proceedings of the Third international conference on Verified software: theories, tools, experiments
Local reasoning and dynamic framing for the composite pattern and its clients
VSTTE'10 Proceedings of the Third international conference on Verified software: theories, tools, experiments
Dafny: an automatic program verifier for functional correctness
LPAR'10 Proceedings of the 16th international conference on Logic for programming, artificial intelligence, and reasoning
A dynamic logic for unstructured programs with embedded assertions
FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
The 1st verified software competition: experience report
FM'11 Proceedings of the 17th international conference on Formal methods
Annotation inference for separation logic based verifiers
FMOODS'11/FORTE'11 Proceedings of the joint 13th IFIP WG 6.1 and 30th IFIP WG 6.1 international conference on Formal techniques for distributed systems
Extending Sledgehammer with SMT solvers
CADE'11 Proceedings of the 23rd international conference on Automated deduction
Expressing polymorphic types in a many-sorted language
FroCoS'11 Proceedings of the 8th international conference on Frontiers of combining systems
Hybrid contract checking via symbolic simplification
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
Behavioral interface specification languages
ACM Computing Surveys (CSUR)
Automating induction with an SMT solver
VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
VSTTE'12 Proceedings of the 4th international conference on Verified Software: theories, tools, experiments
Efficient state merging in symbolic execution
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
The guardol language and verification system
TACAS'12 Proceedings of the 18th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Joogie: infeasible code detection for java
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Program proving using intermediate verification languages (IVLs) like boogie and why3
Proceedings of the 2012 ACM conference on High integrity language technology
A DSL for cross-domain security
Proceedings of the 2012 ACM conference on High integrity language technology
Encoding monomorphic and polymorphic types
TACAS'13 Proceedings of the 19th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Joogie: from Java through Jimple to Boogie
Proceedings of the 2nd ACM SIGPLAN International Workshop on State Of the Art in Java Program analysis
Overify: optimizing programs for fast verification
HotOS'13 Proceedings of the 14th USENIX conference on Hot Topics in Operating Systems
Verifying higher-order programs with the dijkstra monad
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Growing solver-aided languages with rosette
Proceedings of the 2013 ACM international symposium on New ideas, new paradigms, and reflections on programming & software
CADE'13 Proceedings of the 24th international conference on Automated Deduction
TFF1: the TPTP typed first-order form with rank-1 polymorphism
CADE'13 Proceedings of the 24th international conference on Automated Deduction
Automatically refining partial specifications for heap-manipulating programs
Science of Computer Programming
Hi-index | 0.00 |
Intermediate languages are a paradigm to separate concerns in software verification systems when bridging the gap between programming languages and the logics understood by theorem provers. While such intermediate languages traditionally only offer rather simple type systems, this paper argues that it is both advantageous and feasible to integrate richer type systems with features like (higher-ranked) polymorphism and quantification over types. As a concrete solution, the paper presents the type system of Boogie 2, an intermediate verification language that is used in several program verifiers. The paper gives two encodings of types and formulae in simply typed logic such that SMT solvers and other theorem provers can be used to discharge verification conditions.