Chalmers Research (Chalmers University of Technology) · 2019 · 22 citations · 28 references
ComputingComputer ScienceFormal MethodsLogicProgramming LanguagesAutomated ReasoningDeductive VerificationModel CheckingPredicate LogicProof AssistantsVerificationFirst-order Logic ReasoningLogical Framework ApproachPredicate Logic SemanticsProgram VerificationRelational AnalysisTrace Semantics
We present a logical framework for the verification of relational properties in imperative programs. Our frame-work reduces verification of relational properties of imperative programs to a validity problem in trace logic, an expressive instance of first-order predicate logic. Trace logic draws its expressiveness from its syntax, which allows expressing properties over computation traces. Its axiomatization supports fine-grained reasoning about intermediate steps in program execution, notably loop iterations. We present an algorithm to encode the semantics of programs as well as their relational properties in trace logic, and then show how first-order theorem proving can be used to reason about the resulting trace logic formulas. Our work is implemented in the tool RAPID and evaluated with examples coming from the security field.
28
Security Policies and Security Models
Joseph A. Goguen, José Meseguer · 1982 · 2.1K citations
The SMT-LIB Standard Version 2.0
Clark Barrett, Aaron Stump, Cesare Tinelli · 2010 · 722 citations
Dependent types and multi-monadic effects in F*
Nikhil Swamy, Cătălin Hriţcu, Chantal Keller et al. · 2016 · 292 citations · Full text