Using MBE to Speed a Verified Graph Pathfinder - CiteSeerX
Recommend Documents
Scenario extraction is a challenging problem. In many cases, the software system must be instrumented and must run in a profiler which traces function calls and ...
Air Force Research Laboratory. Mesa, AZ. As part of a cognitive task ... The DUOC is an initiative of the UAV Battlelab. (UAVB) at Eglin Air Force Base and is ...
Select cell B2 then click the lower right corner and drag the formula down for ...
Select the graph and move it up to the top of the worksheet near the list of values.
Keywords: Representational practices; interaction analysis; online collaboration. 1. ... et al., 2003). These machine readable histories of software events are amenable to ..... of acts that could potentially account for the participants' conclusions
The recent steady progress in the automation of program verification led us to think that ... Dafny [15] is a program verification tool which includes a programming ...
parametric pyramid of watersheds are studied with different .... Examples of the influence of the reference color (black, red, green, blue and yellow : from left to ...
M. Gloria Sánchez-Torrubia, Carmen Torres-Blanc, Miguel A. López- ..... Tony Clear, Arto Haataja, Jeanine Meyer, Jarkko Suhonen, and Stuart A. Varden.
1 Introduction. The algebraic approach of graph grammars has been invented at TU Berlin ... Pacman wins if he manages to eat all the apples before he is killed.
Apr 6, 2009 - Our declaration of nat (back in Section 2.2.2) lists Z first and then S, so that explains the ..... I am drawing here is between reasoning which is primarily about the ... notation (not GURU's) for the result of substituting t1 for a sp
Apr 6, 2009 - its standard library: Morgan Deters, Henry Li, Todd Schiller, Timothy Simpson, ...... Consider a box set of the Harry Potter books. ... and I want to read âThe Goblet of Fireâ, there is no problem, since each is a separate resource.
Building verified compilers is difficult, especially when complex analyses such as ... analysis-based optimization on control flow or program dependency graphs.
for a programming language like ML, OCaml, or Common Lisp. We present a ..... In Jitawa's implementation, an application
Within its scope the emergency call system was mod- eled and ... scribes its application within the emergency call case study. .... center operator and the driver.
similarity between data base elements. ... extraction of software structures from dependence graphs ... a complexity analysis of our algorithm will be made. Fi-.
Partial hAT-like sequences have also been derived from the Australian bushfly Musca vetustissima (Warren, Atkinson, and O'Brochta 1995) and the ...
In a parallel application a graph coloring is usu- ... lel graph coloring algorithm suitable for the shared memory ..... dard api for shared memory programming.
Jul 23, 2009 - Social tagging, recommender systems, personalization, ranking. âCorresponding .... personalized tag recommendation using collaborative tagging data. ..... the user. We investigate tag usage patterns of users in Del.icio.us.
Jul 23, 2009 - Ziyu Guan1, Jiajun Bu1â. , Qiaozhu Mei2, Chun Chen1, Can Wang1. 1Zhejiang Key Laboratory of Service Robot. 2Department of Computer ...
the publicly available Facebook API, we mined information regarding one of the authors from .... A.O. Artero, M.C.F. de Oliveira, and H. Levkowitz. Uncovering ...
these challenges is at-speed testing to assure the performance ... have described how to use ATE to test very high-speed CUT. Authors .... $Fb sHV $RQb pHP $.
base systems, we can safely state that a query engine should execute first the second triple ... for static optimization of Basic Graph Patterns, (2) a set of heuristics for the ... tion where the overall goal is to search the solution space for the
ABSTRACT. In this paper we describe a problem of discovering query clusters from a click-through graph of web search logs. The graph consists of a set of web ...
The Panorama View can be shown with either a ... Figure 3 shows the Panorama View, Mosaic View, a ... With red-blue glasses, the user can see the scene in.
Edwin Brady. Kevin Hammond .... function space @x X SA 3 T by S 3 T if x is not free in T. ...... like to thank Walid Taha and James McKinna, and the anonymous.
Using MBE to Speed a Verified Graph Pathfinder - CiteSeerX
Rockwell Collins. Using MBE to Speed a Verified Graph Pathfinder. David Greve and Matthew Wilding. Rockwell Collins, Inc. Advanced .... [1] Robert s.
Rockwell Collins
Using MBE to Speed a Veri ed Graph Path nder David Greve and Matthew Wilding
Rockwell Collins, Inc. Advanced Technology Center Cedar Rapids, IA 52498 USA
fdagreve,
g
mmwildin @rockwellcollins.com
Abstract The experimental feature MBE (for \must be equal") allows ACL2 users to introduce two versions of the body for a function, one for reasoning and one for execution. The user must show that the two function bodies are equal when the function arguments satisfy the function guards. We demonstrate that MBE allows us to overcome an ACL2 logic weakness identi ed in an example presented at the 2nd ACL2 Workshop [3].
J Moore demonstrates an ACL2 program in [2] that nds paths through a graph. The path nding algorithm has a time complexity that is linear in the number of edges in the graph since it marks visited nodes and does not investigate paths that include nodes that have already been visited. Moore's implementation, however, because it uses list access and update functions to implement graph operations, has quadratic time complexity. The stobj feature of ACL2 allows programmers to code eÆcient imperativestyle datastructure operations that have simple, functional semantics [1]. Matt Wilding reimplements Moore's program in [3] using stobjs so that the basic graph datastructure operations | marking a node, looking up the edges emanating from a node, etc. | are constant-time. One would hope that such an implementation would execute in linear time. An issue identi ed in [3] is the need to add complexity to some programs in order to prove termination. This complexity would often be unnecessary if there were some way to ensure that the guards to the function were met. The main function that implements the search program in [3] is linear-find-next-step-st.
1
Rockwell Collins (defun linear-find-next-step-st (c b st) (declare (xargs :stobjs st :measure (measure-st c st) :guard (and (graphp-st st) (bounded-natp b (maxnode)) (numberlistp c (maxnode))) :verify-guards nil)) (if (endp c) st (let ((cur (coerce-node (car c))) (temp (number-unmarked st))) (cond ((equal (marksi cur st) 1) (linear-find-next-step-st (cdr c) b st)) ((equal cur b) (let ((st (setstatus 0 st))) (setstack (myrev (cons (car c) (stack st))) st))) (t (let ((st (setmarksi cur 1 st))) (let ((st (setstack (cons (car c) (stack st)) st))) (let ((st (linear-find-next-step-st (gi cur st) b st))) (if (or (