DecProbStrHarvard100909

DecProbStrHarvard100909 - DECISION PROCEDURES FOR...

Info iconThis preview shows pages 1–6. Sign up to view the full content.

View Full Document Right Arrow Icon
DECISION PROCEDURES FOR VERIFICATION by Harvey M. Friedman Distinguished University Professor of Mathematics, Philosophy, Computer Science Ohio State University friedman@math.ohio-state.edu http://www.math.ohio-state.edu/ ~friedman/ Joint Theory of Computation and Programming Language Seminar Department of Computer Science Harvard University delivered October 9, 2009
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
ABSTRACT We focus on two formal methods contexts which generate investigations into decision problems for finite strings. • RESOLVE Verification Conditions (VCs) • JAVA Pathfinder At Ohio State and elsewhere, formal specifications are given and annotated programs are written (providing loop invariants) that are designed to meet those specifications. This generates mathematical statements called VCs (verification conditions), which guarantee that the annotated program meets the specifications. If the context is finite strings, then decision procedures for finite strings can be very useful. We discuss such a decision procedure which we formulated based on our examination of the VCs generated at Ohio State from string processing programs written in RESOLVE. We also discuss the boundary between the decidable and undecidable.
Background image of page 2
A second source of decision procedure investigations is suggested by a tool for JAVA programs called JAVA PATHFINDER. This is a tool to automatically detect dead code in JAVA programs. It exploits the structure of JAVA programs, and is based on recognizing the impossibility of satisfying finitely many conditions. This naturally leads to a very wide ranging investigation into decision procedures involving the primitives in JAVA libraries, such as string replacement x[y/z]. We discuss some decidability and undecidability results for this context.
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
INTEGERS, OBJECTS, STRINGS, CONCATENATION FOR VCs Language L has three sorts: integers, objects, and (finite) strings (of) objects. Variables n i , x i , α i . Linear arithmetic, strict linear ordering on objects, empty string, concatenation, length of string, object to length 1 string, n-th term of string, weakly increasing string. Terms, atomic formulas, universal formulas, universal sentences, are defined in the expected way. In all interpretations, everything is predetermined except the choice of the linear ordered set of objects. WHICH UNIVERSAL SENTENCES ARE TRUE IN ALL INTERPRETATIONS? THEOREM. A universal sentence is true in all interpretations if and only if it is true in THE interpretation where the objects are the integers with the usual ordering. Henceforth, we work only with this standard interpretation. Thus we only speak of the TRUTH or FALSITY of a sentence of L.
Background image of page 4
INTEGERS, OBJECTS, STRINGS, CONCATENATION FOR VCs We present the language L formally. We use INT, OBJ, STR. • binary relation symbols <,
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 6
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 28

DecProbStrHarvard100909 - DECISION PROCEDURES FOR...

This preview shows document pages 1 - 6. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online