Progress on Certifying Algorithms
A certifying algorithm is an algorithm that produces with each output, a certificate or witness (easy-to-verify proof) that the particular output has not been compromised by a bug. A user of a certifying program P (= the implementation of a certifying algorithm) inputs x, receives an output y and a certificate w, and then checks, either manually or by use of a checking program, that w proves that y is a correct output for input x. In this way, he/she can be sure of the correctness of the output without having to trust P. We refer the reader to the recent survey paper  for a detailed discussion of certifying algorithms.
Unable to display preview. Download preview PDF.
- 2.Edmonds, J.: Paths, trees, and flowers. Canadian Journal on Mathematics, 449–467 (1965)Google Scholar
- 3.Elmasry, A., Mehlhorn, K., Schmidt, J.M.: A Linear Time Certifying Triconnectivity Algorithm for Hamiltonian Graphs. Available at the authors home pages (March 2010)Google Scholar
- 4.Elmasry, A., Mehlhorn, K., Schmidt, J.M.: Every DFS-Tree of a 3-Connected Graph Contains a Contractible Edge. Available at the authors home pages (February 2010)Google Scholar
- 7.Isabelle theorem prover, http://isabelle.in.tum.de/
- 8.Kriesell, M.: A survey on contractible edges in graphs of a prescribed vertex connectivity. Graphs and Combinatorics, 1–33 (2002)Google Scholar
- 9.Mehlhorn, K., McConnell, R., Näher, S., Schweitzer, P.: Certifying Algorithms. Available at the first author’s homepage and submitted for publicationGoogle Scholar
- 12.Schmidt, J.M.: Construction sequences and certifying 3-connectedness. In: 27th International Symposium on Theoretical Aspects of Computer Science (STACS 2010), Nancy, France (2010), http://page.mi.fu-berlin.de/jeschmid/pub
- 14.VCC, a mechanical verifier for concurrent C programs, http://vcc.codeplex.com/