Show simple item record

dc.contributor.authorFalke, Stephan
dc.date.accessioned2010-02-09T19:59:17Z
dc.date.available2010-02-09T19:59:17Z
dc.date.issued2010-02-09T19:59:17Z
dc.date.submittedDecember 2009
dc.identifier.urihttp://hdl.handle.net/1928/10262
dc.description.abstractTerm rewrite systems have been extensively used in order to model computer programs for the purpose of formal verification. This is in particular true if the termination behavior of computer programs is investigated, and automatic termination proving for term rewrite systems has received increased interest in recent years. Ordinary term rewrite systems, however, exhibit serious drawbacks. First, they do not provide a tight integration of natural numbers or integers. Since the pre-defined semantics of these primitive data types cannot be utilized, reasoning about termination of ordinary term rewrite systems operating on numbers is often cumbersome or even impossible. Second, ordinary term rewrite system cannot accurately model collection data structures such as sets or multisets which are supported by many high-level programming languages such as Maude or OCaml. This dissertation introduces a new class of term rewrite systems that addresses both of these drawbacks and thus makes it possible to accurately model computer programs using a high level of abstraction in a natural formalism. Then, the problem of automatically proving termination for this new class of term rewrite systems is investigated. The resulting dependency pair framework provides a flexible and modular method for proving termination. In addition to unrestricted rewriting, termination of rewriting with the innermost strategy or a context-sensitive rewriting strategy is investigated as well. The techniques for proving termination that are developed in this dissertation have been implemented in the well-known termination prover AProVE. An empirical evaluation shows that the implementation succeeds in automatically proving termination of a large collection of computer programs that are modeled using the new class of term rewrite systems developed in this work. Next, the use of this new class of term rewrite systems in the context of inductive theorem proving is investigated. This makes it possible to reason about the semantics of computer programs. The inductive theorem proving method developed in this dissertation provides a tight integration of inductive reasoning with a decision procedure, thus resulting in a high degree of automation. Finally, conditions under which the inductive theorem proving method is guaranteed to succeed in proving or disproving a conjecture without any user intervention are identified. Thus, the inductive theorem proving method can be applied as a "black box" if these conditions are satisfied. The inductive theorem proving method checks for the conditions under which it provides a decision procedure have been implemented in the prototype prover Sail2. An empirical evaluation shows that Sail2 is very efficient, and the high degree of automation makes it possible to use Sail2 in a push-button mode for formal program verification.en_US
dc.language.isoen_USen_US
dc.subjectTerm Rewritingen_US
dc.subjectSemantic Data Structuresen_US
dc.subjectTermination Analysisen_US
dc.subjectInductive Theorem Provingen_US
dc.subject.lcshRewriting systems (Computer science)
dc.subject.lcshComputer programs--Termination.
dc.subject.lcshData structures (Computer science)
dc.subject.lcshComputer programs--Verification.
dc.titleTerm rewriting with built-in numbers and collection data structuresen_US
dc.typeDissertationen_US
dc.description.degreeDoctor of Computer Scienceen_US
dc.description.levelDoctoralen_US
dc.description.departmentUniversity of New Mexico. Dept. of Computer Scienceen_US
dc.description.advisorKapur, Deepak
dc.description.committee-memberGiesl, Juergen
dc.description.committee-memberMcCune, William
dc.description.committee-memberVeroff, Robert


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record