2013
DOI: 10.1007/s10817-013-9289-2
|View full text |Cite
|
Sign up to set email alerts
|

A Framework for the Verification of Certifying Computations

Abstract: Formal verification of complex algorithms is challenging. Verifying their implementations goes beyond the state of the art of current automatic verification tools and usually involves intricate mathematical theorems. Certifying algorithms compute in addition to each output a witness certifying that the output is correct.A checker for such a witness is usually much simpler than the original algorithmyet it is all the user has to trust. The verification of checkers is feasible with current tools and leads to com… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1

Citation Types

0
31
0

Year Published

2014
2014
2023
2023

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 21 publications
(31 citation statements)
references
References 30 publications
0
31
0
Order By: Relevance
“…programs that check traces of unsatisfiability proofs and that have themselves been formally proven correct. However, all these approaches are limited in their scalability, essentially for one of two reasons: (1) information about deletion of learned clauses is not available nor used [40,14,15,2]; and (2) the formats used to provide proof traces by SAT solvers still require the checker to perform complex checking steps [20,41,21,43], which are very difficult to optimize.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…programs that check traces of unsatisfiability proofs and that have themselves been formally proven correct. However, all these approaches are limited in their scalability, essentially for one of two reasons: (1) information about deletion of learned clauses is not available nor used [40,14,15,2]; and (2) the formats used to provide proof traces by SAT solvers still require the checker to perform complex checking steps [20,41,21,43], which are very difficult to optimize.…”
Section: Introductionmentioning
confidence: 99%
“…def parse(line): ints = [int(s) for s in line.split() ] i0 = ints.index(0) return ints[0 ], set(ints[1:i0 ]), ints[i0+1:−1 ] def verify(file): cs = {} for id, c, ids in (parse(line) for line in file): if not id: # delete clauses for id in ids: del cs[id ] elif not ids: # add original clause cs[id ] = c else: # check & add learnt clause d = c.copy() for i in ids: e = cs[i ]−d if e: d. add(−e.pop()) # propagate assert not e # is unit? else: # empty clause reached cs[id ] = c if not c: return "VERIFIED" break return "NOT VERIFIED" import sys print(verify(open(sys.argv[1 ]))) Fully functional checker for the GRIT format written in Python.…”
mentioning
confidence: 99%
“…Based on that, we have formalized a characterization of Euler digraphs and a core part of a LEDA checker-algorithm for non-planarity of graphs. The library is already being used in other projects [1,8,20] and we expect it to become the standard for formalizations about directed graphs in Isabelle.…”
Section: Resultsmentioning
confidence: 99%
“…This work has been motivated by the verification effort on the LEDA graph library [13]. The LEDA library contains a number certifying graph algorithms and our library has been successfully used to verify the certificates generated by some of these algorithms [1,20].…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation