Refinement reflection: complete verification with SMT

@article{Vazou2017RefinementRC,
  title={Refinement reflection: complete verification with SMT},
  author={Niki Vazou and Anish Tondwalkar and Vikraman Choudhury and Ryan G. Scott and Ryan Newton and Philip Wadler and Ranjit Jhala},
  journal={PACMPL},
  year={2017},
  volume={2},
  pages={53:1-53:31}
}
We introduce Refinement Reflection, a new framework for building SMT-based deductive verifiers. The key idea is to reflect the code implementing a user-defined function into the function’s (output) refinement type. As a consequence, at uses of the function, the function definition is instantiated in the SMT logic in a precise fashion that permits decidable verification. Reflection allows the user to write equational proofs of programs just by writing other programs using pattern-matching and… CONTINUE READING
Highly Cited
This paper has 18 citations. REVIEW CITATIONS
Tweets
This paper has been referenced on Twitter 81 times. VIEW TWEETS