TY - JOUR
T1 - An Introduction to Certifying Algorithms
AU - Alkassar, Eyad
AU - Bohme, Sascha
AU - Mehlhorn, Kurt
AU - Rizkallah, Christine
AU - Schweitzer, Pascal
N1 - Publisher Copyright:
© by Oldenbourg Wissenschaftsverlag, Saarbrucken, Germany 2011.
PY - 2011/12
Y1 - 2011/12
N2 - A certifying algorithm is an algorithm that produces, with each output, a certificate or witness that the particular output is correct. 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 also demonstrate that the formal verification of result checkers is within the reach of current verification technology. The combination of certifying algorithms and formal verification of result checkers leads to formally verified computations.
AB - A certifying algorithm is an algorithm that produces, with each output, a certificate or witness that the particular output is correct. 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 also demonstrate that the formal verification of result checkers is within the reach of current verification technology. The combination of certifying algorithms and formal verification of result checkers leads to formally verified computations.
KW - Programmverifikation
KW - Software Engineering
KW - certifying algorithms
KW - zertifizierende Algorithmen
UR - http://www.scopus.com/inward/record.url?scp=85030707807&partnerID=8YFLogxK
U2 - 10.1524/itit.2011.0655
DO - 10.1524/itit.2011.0655
M3 - Article
SN - 1611-2776
VL - 53
SP - 287
EP - 293
JO - IT - Information Technology
JF - IT - Information Technology
IS - 6
ER -