Verifying a local generic solver in coq

  • Authors:
  • Martin Hofmann;Aleksandr Karbyshev;Helmut Seidl

  • Affiliations:
  • Institut für Informatik, Universität München;Fakultät für Informatik, Technische Universität München;Fakultät für Informatik, Technische Universität München

  • Venue:
  • SAS'10 Proceedings of the 17th international conference on Static analysis
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Fixpoint engines are the core components of program analysis tools and compilers. If these tools are to be trusted, special attention should be paid also to the correctness of such solvers. In this paper we consider the local generic fixpoint solver RLD which can be applied to constraint systems x ⊇ fx, x ∈ V, over some lattice D where the right-hand sides fx are given as arbitrary functions implemented in some specification language. The verification of this algorithm is challenging, because it uses higher-order functions and relies on side effects to track variable dependences as they are encountered dynamically during fixpoint iterations. Here, we present a correctness proof of this algorithm which has been formalized by means of the interactive proof assistant COQ.