Computational geometry: an introduction
Computational geometry: an introduction
Constructing higher-dimensional convex hulls at logarithmic cost per face
STOC '86 Proceedings of the eighteenth annual ACM symposium on Theory of computing
Theory of linear and integer programming
Theory of linear and integer programming
A polynomial-time algorithm to find the shortest cycle basis of a graph
SIAM Journal on Computing
The knowledge complexity of interactive proof systems
SIAM Journal on Computing
Designing programs that check their work
STOC '89 Proceedings of the twenty-first annual ACM symposium on Theory of computing
Applications of random sampling in computational geometry, II
Discrete & Computational Geometry - Selected papers from the fourth ACM symposium on computational geometry, Univ. of Illinois, Urbana-Champaign, June 6 8, 1988
Self-testing/correcting with applications to numerical problems
STOC '90 Proceedings of the twenty-second annual ACM symposium on Theory of computing
Information Processing Letters
Four results on randomized incremental constructions
Computational Geometry: Theory and Applications
Designing programs that check their work
Journal of the ACM (JACM)
LEDA: a platform for combinatorial and geometric computing
Communications of the ACM
Reflections on the Pentium Division Bug
IEEE Transactions on Computers
A new approach to the minimum cut problem
Journal of the ACM (JACM)
The quickhull algorithm for convex hulls
ACM Transactions on Mathematical Software (TOMS)
Safe kernel extensions without run-time checking
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Journal of the ACM (JACM)
Software reliability via run-time result-checking
Journal of the ACM (JACM)
A Formally Verified Sorting Certifier
IEEE Transactions on Computers
Combinatorial optimization
A computational basis for higher-dimensional computational geometry and applications
Computational Geometry: Theory and Applications - special issue on applied computational geometry
Checking the convexity of polytopes and the planarity of subdivision
WADS '97 Selected papers presented at the international workshop on Algorithms and data structure
Checking geometric programs or verification of geometric structures
Selected papers from the 12th annual symposium on Computational Geometry
On degeneracy in geometric computations
SODA '94 Proceedings of the fifth annual ACM-SIAM symposium on Discrete algorithms
Proceedings of the tenth annual ACM-SIAM symposium on Discrete algorithms
An Algorithm for Convex Polytopes
Journal of the ACM (JACM)
Journal of the ACM (JACM)
Depth-First Search and Kuratowski Subgraphs
Journal of the ACM (JACM)
A correctness certificate for the Stoer-Wagner min-cut algorithm
Information Processing Letters
LEDA: a platform for combinatorial and geometric computing
LEDA: a platform for combinatorial and geometric computing
Finding and certifying a large hidden clique in a semirandom graph
Random Structures & Algorithms
An axiomatic basis for computer programming
Communications of the ACM
Certification of Computational Results
IEEE Transactions on Computers
Certifying and repairing solutions to large LPs how good are LP-solvers?
SODA '03 Proceedings of the fourteenth annual ACM-SIAM symposium on Discrete algorithms
LEDA: A Library of Efficient Data Types and Algorithms
MFCS '89 Proceedings on Mathematical Foundations of Computer Science 1989
From Algorithms to Working Programs: On the Use of Program Checking in LEDA
MFCS '98 Proceedings of the 23rd International Symposium on Mathematical Foundations of Computer Science
LEDA: A Library of Efficient Data Types and Algorithms
ICALP '90 Proceedings of the 17th International Colloquium on Automata, Languages and Programming
Program Result Checking: A New Approach to Making Programs More Reliable
ICALP '93 Proceedings of the 20th International Colloquium on Automata, Languages and Programming
The LEDA Platform of Combinatorial and Geometric Computing
ICALP '97 Proceedings of the 24th International Colloquium on Automata, Languages and Programming
A Linear Time Implementation of SPQR-Trees
GD '00 Proceedings of the 8th International Symposium on Graph Drawing
ESA '02 Proceedings of the 10th Annual European Symposium on Algorithms
The randomized complexity of maintaining the minimum
Nordic Journal of Computing
Checking the Integrity of Trees
FTCS '95 Proceedings of the Twenty-Fifth International Symposium on Fault-Tolerant Computing
On-Line Error Monitoring for Several Data Structures
FTCS '95 Proceedings of the Twenty-Fifth International Symposium on Fault-Tolerant Computing
A certifying algorithm for the consecutive-ones property
SODA '04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms
Algorithm Design
Certifying LexBFS Recognition Algorithms for Proper Interval Graphs and Proper Interval Bigraphs
SIAM Journal on Discrete Mathematics
Combinatorica
Certifying and constructing minimally rigid graphs in the plane
SCG '05 Proceedings of the twenty-first annual symposium on Computational geometry
Why Programs Fail: A Guide to Systematic Debugging
Why Programs Fail: A Guide to Systematic Debugging
Certifying Algorithms for Recognizing Interval Graphs and Permutation Graphs
SIAM Journal on Computing
Fully dynamic recognition algorithm and certificate for directed cograph
Discrete Applied Mathematics
Classroom examples of robustness problems in geometric computations
Computational Geometry: Theory and Applications
The Traveling Salesman Problem: A Computational Study (Princeton Series in Applied Mathematics)
The Traveling Salesman Problem: A Computational Study (Princeton Series in Applied Mathematics)
Program result-checking: a theory of testing meets a test of theory
SFCS '94 Proceedings of the 35th Annual Symposium on Foundations of Computer Science
Algorithms and Data Structures: The Basic Toolbox
Algorithms and Data Structures: The Basic Toolbox
An efficient local approach to convexity testing of piecewise-linear hypersurfaces
Computational Geometry: Theory and Applications
Linear-time certifying recognition algorithms and forbidden induced subgraphs
Nordic Journal of Computing
A constructive proof of the Lovász local lemma
Proceedings of the forty-first annual ACM symposium on Theory of computing
Discrete Applied Mathematics
Journal of Computer and System Sciences
An O(nm)-time certifying algorithm for recognizing HHD-free graphs
FAW'07 Proceedings of the 1st annual international conference on Frontiers in algorithmics
Characterisations and linear-time recognition of probe cographs
WG'07 Proceedings of the 33rd international conference on Graph-theoretic concepts in computer science
Proper Helly circular-arc graphs
WG'07 Proceedings of the 33rd international conference on Graph-theoretic concepts in computer science
Certifying algorithms for recognizing proper circular-arc graphs and unit circular-arc graphs
WG'06 Proceedings of the 32nd international conference on Graph-Theoretic Concepts in Computer Science
Dominators, directed bipolar orders, and independent spanning trees
ICALP'12 Proceedings of the 39th international colloquium conference on Automata, Languages, and Programming - Volume Part I
Certifying 3-connectivity in linear time
ICALP'12 Proceedings of the 39th international colloquium conference on Automata, Languages, and Programming - Volume Part I
FOPARA'11 Proceedings of the Second international conference on Foundational and Practical Aspects of Resource Analysis
Every DFS Tree of a 3-Connected Graph Contains a Contractible Edge
Journal of Graph Theory
A Framework for the Verification of Certifying Computations
Journal of Automated Reasoning
Hi-index | 0.00 |
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 algorithm inputs x, receives the output y and the certificate w, and then checks, either manually or by use of a 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 the algorithm. We put forward the thesis that certifying algorithms are much superior to non-certifying algorithms, and that for complex algorithmic tasks, only certifying algorithms are satisfactory. Acceptance of this thesis would lead to a change of how algorithms are taught and how algorithms are researched. The widespread use of certifying algorithms would greatly enhance the reliability of algorithmic software. We survey the state of the art in certifying algorithms and add to it. In particular, we start a theory of certifying algorithms and prove that the concept is universal.