Verbesserung von Zertifizierern für Terminierungsbeweise
Improving Certifiers for Termination Proofs
Wissenschaftsdisziplinen
Informatik (50%); Mathematik (50%)
Keywords
-
Theorem Proving,
Certification,
Termination Analysis,
Innermost Evaluation,
Term Rewriting
Terminierung (jede Berechnung kommt zu einem Ende) ist eine fundamentale Eigenschaft von Programmen. Obwohl diese Eigenschaft im Allgemeinen unentscheidbar ist, gibt es zahlreiche Arbeiten zum Thema automatische Terminierungsanalyse. In diesem Antrag konzentrieren wir uns auf die Terminierungsanalyse von Termersetzungssystemen, einem einfachen, aber dennoch mächtigen Berechenbarkeitsmodell, welches zu großen Teilen der deklarativen Programmierung, sowie dem automatischen Beweisen zu Grunde liegt. Die Motivation ist, dass die Terminierungsanalyse von Programmen in den verschiedensten Programmiersprachen, oft mit Hilfe der Termersetzung durchgeführt werden kann. Es gibt zum Beispiel Transformationen von Prolog, Haskell und Java in Termersetzungssysteme, so dass die Terminierung des resultierenden Ersetzungssystems die Terminierung des ursprünglichen Programms beweist. In der jüngsten Vergangenheit gab es einiges an Fortschritt bei der Ermittlung von hinreichenden und automatisierbaren Kriterien für die Terminierung von Termersetzungssystemen, die auch implementiert wurden. Die entsprechenden Programme (Terminierungstools) nutzen oft das Dependency Pair Framework und sind dadurch in der Lage, verschiedenste Terminierungskriterien modular zu kombinieren. Terminierungsbeweise werden hierbei durch eine Baumstruktur dargestellt, bei der jeder einzelne Knoten für die Anwendung einer bestimmten Terminierungstechnik steht. Dabei ist es keine Seltenheit, dass moderne Terminierungstools (im vollautomatischen Modus) Beweise finden, die einige Megabyte groß sind. Es geschieht jedoch immer wieder, dass ein Terminierungstool einen falschen Beweis erzeugt - es wurden auch Terminierungsbeise für nicht-terminierende Systeme generiert. Daher wird es als äußerst wichtig angesehen, die Korrektheit solcher generierten Beweise unabhängig zu zertifizieren. Durch die schiere Größe mancher Beweise kommt eine Inspektion von Hand nicht in Frage, und wäre zudem fehleranfällig. Allerdings sind interaktive Theorembeweiser, wie Coq, Isabelle oder PVS, in der Lage, diese Herausforderung zu bewältigen. Solche Theorembeweiser werden verwendet, um eine Vielzahl von Fakten aus der Mathematik, über Programmiersprachen und vieles mehr, innerhalb eines logischen Systems zu modellieren und anschließend zu verifizieren, dass bestimmte Eigenschaften erfüllt sind. Das Zertifizieren von Terminierungsbeweisen wird üblicherweise in zwei Stufen durchgeführt: Zuerst wird mittels eines Theorembeweisers formal die Korrektheit von Terminierungstechniken bewiesen. Danach wird zertifiziert, dass jeder Knoten eines gegebenen Beweisbaumes einer gültigen Anwendung einer dieser Terminierungstechniken entspricht. Beispielsweise wird in der ersten Stufe ein für allemal bewiesen, dass es sich bei der lexikographischen Pfadordnung um eine Reduktionsordnung handelt. In der zweiten Stufe wird dann für eine gegebene Präzedenz und ein gegebenes Ersetzungssystem überprüft, ob alle Regeln durch die resultierende lexikographische Pfadordnung orientiert werden können. Dadurch kann man sowohl auf fehlerhafte Theoreme als auch auf Fehler von Terminierungstools stoßen. Im Moment gibt es drei unabhängige Zertifizierer. Unser Zertifizierer, IsaFoR/CeTA (zu finden auf http://cl-informatik.uibk.ac.at/software/ceta/), wurde unter Verwendung von Isabelle/HOL entwickelt. Alle drei Zertifizierer verwenden die oben beschriebene, zweistufige Herangehensweise, um Terminierungsbeweise zu zertifizieren. Als Eingabe erwarten sie einen Terminierungsbeweis in einem gemeinsamen Beweisformat, um anschließend zu entscheiden, ob dieser Beweis gültig ist oder nicht. Mit Hilfe dieser Zertifizierer wurden sowohl Fehler in Theoremen aus Publikationen als auch Fehler in Terminierungstools gefunden und konnten behoben werden. Das Ziel dieses Projekts ist es, die Anwendbarkeit unseres Zertifizierers IsaFoR/CeTA zu erhöhen. Dabei wollen wir uns mit den folgenden vier Punkten beschäftigen: A) Mehr Terminierungstechniken unterstützen, um die Anzahl der zertifizierbaren Beweise zu erhöhen. B) CeTA direkt mit Terminierungstools verbinden, so dass große Teile eines Beweises auch dann zertifiziert werden können, wenn nicht alle benutzten Techniken formalisiert wurden. C) Terminierung von Isabelle/HOL Funktionen beweisen, indem Beweise von Terminierungstools mit Hilfe von IsaFoR nach Isabelle/HOL importiert werden. Dies wird den Automatisierungsgrad des interaktiven Beweisers Isabelle/HOL erhöhen. D) Das Zertifizieren impliziter Komplexitätsschranken von Terminierungsbeweisen, um nicht nur sichere Aussagen über die Terminierung eines Systems, sondern auch über dessen Laufzeit machen zu können.
Für Computer Programme in sicherheitskritischen Bereichen (wie z.B. Luftfahrt, Brandmeldung, und medizinische Geräte) ist es sehr wichtig, dass sie zuverlässig arbeiten. Deshalb haben wir in diesem Projekt zwei wesentliche Eigenschaften von Programmen betrachtet: ein Programm terminiert, wenn es immer ein Resultat liefert und nicht endlos rechnet; und die Komplexität beschreibt, wie lange man auf das Resultat warten muss. Für beide Eigenschaften gibt es Analyse-Tools, die für viele Programme automatisch die Komplexität und das Terminierungs-Verhalten bestimmen.Es besteht jedoch das Risiko, dass die Analyse-Tools selber Fehler enthalten und falsche Antworten geben, z.B. eine Terminierung-Behauptung für ein nicht terminierendes Programm. Um dieses Risiko abzuschwächen, kann man verlangen, dass die Analyse-Tools auch ein Zertifikat erzeugen, das eine Argumentation beinhaltet, warum die gegebene Antwort richtig ist. Diese Zertifikate können dann automatisch mit Hilfe eines Zertifizierers überprüft werden. Hierbei muss die Fehlerfreiheit des Zertifizierers durch einen aufwändigen formalen Beweis nachgewiesen werden. Die Zertifizierung ist üblicherweise nur dann anwendbar, wenn alle angewandten Analyse-Techniken im Zertifikat auch vom Zertifizierer unterstützt werden, was oft die Anwendbarkeit einschränkt. Um diese zu erhöhen, haben wir in diesem Projekt die Korrektheit vieler Analyse-Techniken formal im Beweis-Assistenten Isabelle nachgewiesen und in unseren Zertifizierer integriert.Da viele Terminierungs-Techniken nur auf konfluente Programme anwendbar sind (in denen alle Berechnungen zum selben Ergebnis führen), haben wir als Nebenprodukt auch die Unterstützung für Konfluenz-Analyse-Tools in den Zertifizierer integriert. Des Weiteren unterstützt er nun auch partielle Zertifikate. In diesem Fall sieht eine typische Antwort des Zertifizierers so aus, dass 90 % der Argumentation überprüft werden konnte. Durch die Erweiterung des Zertifizierers konnten mehrere Fehler in aktuellen Analyse-Tools gefunden werden, die seit vielen Jahren unentdeckt blieben. Dies beinhaltet Implementierungsfehler, und Fehler in publizierten Fachartikeln, die leider meist nur informelle Korrektheit-Beweise beinhalten.
- Universität Innsbruck - 100%
- Frederic Blanqui, Tsinghua University - China
- Alexander Krauss, Technische Universität München - Deutschland
- Tobias Nipkow, Technische Universität München - Deutschland
- Xavier Urbain, Ecole Nationale Superieure d Informatique pour l Industrie et l Entreprise - Frankreich
Research Output
- 152 Zitationen
- 32 Publikationen
-
2012
Titel A relative dependency pair framework. Typ Conference Proceeding Abstract Autor Sternagel C Konferenz Georg Moser, editor, Proceedings of the 13th International Workshop on Termination -
2012
Titel Generating linear orders for datatypes. Typ Journal Article Autor Thiemann R -
2012
Titel On the formalization of termination techniques based on multiset orderings. Typ Journal Article Autor Nagele J Et Al -
2012
Titel Executable transitive closures. Typ Journal Article Autor Thiemann R -
2015
Titel A Framework for Developing Stand-Alone Certifiers DOI 10.1016/j.entcs.2015.04.004 Typ Journal Article Autor Sternagel C Journal Electronic Notes in Theoretical Computer Science Seiten 51-67 Link Publikation -
2017
Titel Reachability, confluence, and termination analysis with state-compatible automata DOI 10.1016/j.ic.2016.06.011 Typ Journal Article Autor Felgenhauer B Journal Information and Computation Seiten 467-483 Link Publikation -
2014
Titel Formalizing Monotone Algebras for Certification of Termination and Complexity Proofs DOI 10.1007/978-3-319-08918-8_30 Typ Book Chapter Autor Sternagel C Verlag Springer Nature Seiten 441-455 -
2013
Titel Computing square roots using the babylonian method. Typ Journal Article Autor Thiemann R -
2012
Titel Certification of confluence proofs using CeTA. Typ Conference Proceeding Abstract Autor Thiemann R Konferenz Nao Hirokawa and Aart Middeldorp, editors, Proceedings of the 1st International Workshop on Confluence -
2012
Titel A report on the Certification Problem Format. Typ Conference Proceeding Abstract Autor Thiemann R Konferenz Georg Moser, editor, Proceedings of the 13th International Workshop on Termination -
2012
Titel Towards the certification of complexity proofs. Typ Conference Proceeding Abstract Autor Thiemann R Konferenz Tobias Nipkow, Larry Paulson, and Makarius Wenzel, editors, Isabelle Users Workshop 2012 -
2012
Titel Recording Completion for Finding and Certifying Proofs in Equational Logic DOI 10.48550/arxiv.1208.1597 Typ Preprint Autor Sternagel T -
2012
Titel Certification of Nontermination Proofs DOI 10.1007/978-3-642-32347-8_18 Typ Book Chapter Autor Sternagel C Verlag Springer Nature Seiten 266-282 -
2014
Titel Implementing field extensions of the form Q[vb]. Typ Journal Article Autor Thiemann R -
2014
Titel The Certification Problem Format DOI 10.4204/eptcs.167.8 Typ Journal Article Autor Sternagel C Journal Electronic Proceedings in Theoretical Computer Science Seiten 61-72 Link Publikation -
2014
Titel Haskell's Show-class in Isabelle/HOL. Typ Journal Article Autor Sternagel C -
2014
Titel Certification of confluence proofs using CeTA. Typ Conference Proceeding Abstract Autor Nagele J Konferenz Takahito Aoto and Delia Kesner, editors, Proceedings of the 3rd International Workshop on Confluence -
2014
Titel Automated SAT encoding for termination proofs with semantic labelling and unlabelling. Typ Conference Proceeding Abstract Autor Bau A Konferenz Carsten Fuhs, editor, Proceedings of the 14th International Workshop on Termination -
2014
Titel Proving Termination of Programs Automatically with AProVE DOI 10.1007/978-3-319-08587-6_13 Typ Book Chapter Autor Giesl J Verlag Springer Nature Seiten 184-191 -
2014
Titel Reachability Analysis with State-Compatible Automata DOI 10.1007/978-3-319-04921-2_28 Typ Book Chapter Autor Felgenhauer B Verlag Springer Nature Seiten 347-359 -
2014
Titel Mutually recursive partial functions. Typ Journal Article Autor Thiemann R -
2014
Titel Certification of Nontermination Proofs Using Strategies and Nonlooping Derivations DOI 10.1007/978-3-319-12154-3_14 Typ Book Chapter Autor Nagele J Verlag Springer Nature Seiten 216-232 -
2011
Titel Termination of Isabelle Functions via Termination of Rewriting DOI 10.1007/978-3-642-22863-6_13 Typ Book Chapter Autor Krauss A Verlag Springer Nature Seiten 152-167 -
2011
Titel Generalized and Formalized Uncurrying DOI 10.1007/978-3-642-24364-6_17 Typ Book Chapter Autor Sternagel C Verlag Springer Nature Seiten 243-258 -
2013
Titel Recording completion for finding and certifying proofs in equational logic. Typ Conference Proceeding Abstract Autor Sternagel C Et Al Konferenz Nao Hirokawa and Aart Middeldorp, editors, Proceedings of the 1st International Workshop on Confluence -
2013
Titel Formalizing Bounded Increase DOI 10.1007/978-3-642-39634-2_19 Typ Book Chapter Autor Thiemann R Verlag Springer Nature Seiten 245-260 -
2013
Titel Formalizing Knuth-Bendix orders and Knuth-Bendix completion. Typ Journal Article Autor Sternagel C -
2014
Titel The Certification Problem Format DOI 10.48550/arxiv.1410.8220 Typ Preprint Autor Sternagel C -
2010
Titel Loops under Strategies ... Continued DOI 10.48550/arxiv.1012.5563 Typ Preprint Autor Thiemann R -
2010
Titel Loops under Strategies ... Continued DOI 10.4204/eptcs.44.4 Typ Journal Article Autor Thiemann R Journal Electronic Proceedings in Theoretical Computer Science Seiten 51-65 Link Publikation -
2011
Titel Modular and certied semantic labeling and unlabeling. Typ Journal Article Autor Sternagel C -
2011
Titel Executable transitive closures of finite relations. Typ Journal Article Autor Sternagel C