Verifying a local generic solver in Coq

Martin Hofmann, Aleksandr Karbyshev, Helmut Seidl

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

14 Scopus citations

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 f x 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.

Original languageEnglish
Title of host publicationStatic Analysis - 17th International Symposium, SAS 2010, Proceedings
Pages340-355
Number of pages16
DOIs
StatePublished - 2010
Event17th International Static Analysis Symposium, SAS 2010 - Perpignan, France
Duration: 14 Sep 201016 Sep 2010

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume6337 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference17th International Static Analysis Symposium, SAS 2010
Country/TerritoryFrance
CityPerpignan
Period14/09/1016/09/10

Fingerprint

Dive into the research topics of 'Verifying a local generic solver in Coq'. Together they form a unique fingerprint.

Cite this