Automatische Fehlersuche in Algebraischen Spezifikationen
Automatic flaw detection in algebraic specifications
- Abstrakte Datentypen eignen sich sehr gut für die High-Level Spezifikation von Software. Die algebraischen Spezifikationen von abstrakten Datentypen bringen durch die Strukturierung gute Überschaubarkeit des Entwurfs und erlauben die Ausdrucksstärke der Logik der ersten Stufe. Wir haben einen Ansatz zur Fehlersuche mittels endlicher Modellsuche entworfen und auf mehreren Fallstudien evaluiert. Die entwickelte Methodik ermöglicht automatische Fehlersuche in den algebraischen Spezifikationen der freien und nicht-freien Datentypen. Bei Axiomatisierungen der Operationen kann die resultierende Semantik auf unendlichen Strukturen sich von der Semantik auf endlichen Teilstrukturen unterscheiden. Wir haben formale Kriterien aufgestellt, die die Erhaltung der Semantik auf endlichen Teilmodellen und damit die Korrektheit des Ansatzes garantieren. Die Technik wurde in Java implementiert und in das KIV System eingebaut. Die Implementierung verwendet den Modellgenerator und Constraint SolverAbstrakte Datentypen eignen sich sehr gut für die High-Level Spezifikation von Software. Die algebraischen Spezifikationen von abstrakten Datentypen bringen durch die Strukturierung gute Überschaubarkeit des Entwurfs und erlauben die Ausdrucksstärke der Logik der ersten Stufe. Wir haben einen Ansatz zur Fehlersuche mittels endlicher Modellsuche entworfen und auf mehreren Fallstudien evaluiert. Die entwickelte Methodik ermöglicht automatische Fehlersuche in den algebraischen Spezifikationen der freien und nicht-freien Datentypen. Bei Axiomatisierungen der Operationen kann die resultierende Semantik auf unendlichen Strukturen sich von der Semantik auf endlichen Teilstrukturen unterscheiden. Wir haben formale Kriterien aufgestellt, die die Erhaltung der Semantik auf endlichen Teilmodellen und damit die Korrektheit des Ansatzes garantieren. Die Technik wurde in Java implementiert und in das KIV System eingebaut. Die Implementierung verwendet den Modellgenerator und Constraint Solver Kodkod.…
- In interactive theorem proving practice a significant amount of time is spent on unsuccessful proof attempts of wrong conjectures. An automatic method that reveals them by generating finite counter examples would offer an extremely valuable support for a proof engineer by saving his time and effort. In practice, such counter examples tend to be small, so usually there is no need to search for big instances. Most definitions of functions or predicates on infinite structures do not preserve the semantics if a transition to arbitrary finite substructures is made. We propose constraints which guarantee a correct axiomatization on finite structures and present an approach which uses the Alloy Analyzer to generate finite instances of theories in the theorem prover KIV. It is evaluated on the library of basic data types as well as on some challenging case studies in KIV. The technique is implemented using the Kodkod constraint solver which is a successor of Alloy.
Author: | Andriy DunetsGND |
---|---|
URN: | urn:nbn:de:bvb:384-opus-15356 |
Frontdoor URL | https://opus.bibliothek.uni-augsburg.de/opus4/1377 |
Advisor: | Wolfgang Reif |
Type: | Doctoral Thesis |
Language: | German |
Publishing Institution: | Universität Augsburg |
Granting Institution: | Universität Augsburg, Fakultät für Angewandte Informatik |
Date of final exam: | 2010/02/11 |
Release Date: | 2010/04/14 |
Tag: | formal methods; algebraic specifications; software engineering; abstract data types |
GND-Keyword: | Formale Spezifikationstechnik; Algebraische Spezifikation; Software Engineering; Abstrakter Datentyp |
Institutes: | Fakultät für Angewandte Informatik |
Fakultät für Angewandte Informatik / Institut für Informatik | |
Dewey Decimal Classification: | 0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 004 Datenverarbeitung; Informatik |
Licence (German): | Deutsches Urheberrecht |