### Table 2. Experimental results with the analysis on a IEEE 1394 ( rewire) Windows device driver code. \X quot; indicates the proof of memory safety and memory-leak absence. \ quot; indicates that a genuine memory-safety warning was reported. The lines of code (LOC) column includes the struct declarations and the environment model code. The t1394Diag PnpRemoveDevice experiment used a precondition expressed in separation logic rather than non-deterministic environment code. Experiments conducted on a 2.0GHz Intel Core Duo with 2GB RAM.

in Microsoft

2007

"... In PAGE 14: ...Table2 . Our analysis proved a num- ber of driver routines to be memory-safe in a sequential execution environment (see [6] for notes on how we can lift this analysis to a concurrent setting).... In PAGE 14: ... Our analysis also found several previously unknown errors in the routines. As an example, one error (from t1394 CancelIrp, Table2 ) involves a procedure that takes a list pointed to by a structure contained in another list and commits a memory-safety error when the nested list is empty (the presumption that the list can never be empty turns out not to be justi ed). This bug has been con rmed by the Windows kernel team and placed into the database of device driver bugs to be repaired.... ..."

### Table 1: Categories of parallelism in logic

"... In PAGE 2: ... It is also possible, however, to view the program to be evaluated as data, which are transformed by certain operations according to a particular inference mechanism, and apply some of these operations in parallel to the whole, or parts of the original program. Table1 shows an overview of the categories of parallelism, arranged according to the granularity and the components of a logic program. It identi es the particular data structures and operations applied in a category.... In PAGE 2: ... It identi es the particular data structures and operations applied in a category. The notation used in Table1 is based on viewing a logic program as a collection of clauses, possibly organized into modules (or objects). The clauses consist of literals, arranged as head and tail.... ..."

### Table. This number of levels can be extended in the tailoring phase by the end-user. The user shall take

### Table 6.1: The complexities of the inclusion problems with logical variables We derived relative lower bounds for the complexities of many of the inclusion problems with logical variables. The NP-hard problems can be considered to be in general intractable. We showed in Section 6.4 that or- dered tree inclusion with logical variables is solvable in polynomial time when the patterns are separable. One can search for other e ciently solvable sub- classes of the problems. Another open question is the complexity of child inclusion with logical variables; both nontrivial lower bounds and more e - cient algorithms for the problem could be searched for.

1992

Cited by 62

### Table 2: Error Analysis for Lines 1-6 ( = 2?29 + 2?31 + (9=512)2?31) the particulars of Table 1 are involved in the proof is when the predicate is executed. This example illustrates the value of computation in a general-purpose logic. 8.2 Digit Separation Lemma 8.2.1 (Digit Separation) Suppose that p and d are rationals and d 6 = 0. Let

1998

"... In PAGE 26: ... Observe that if 0 x lt; 2, then trunc(x; 32) = x(1 ? x), for some 0 x lt; 2?31, and away(x; 32) = x(1 + x), for some 0 x lt; 2?31. These two observations, along with the de nition of comp and appropriate de nitions of quot;sdd0, quot;sd1, quot;sdd1, and quot;sd2 (as functions of d analogous to quot;sd0 above) allow us to derive the equations and inequalities of Table2 . From these inequalities it readily follows that 0 quot;sd2(d) lt; 2?28 and hence Lemma 8.... ..."

Cited by 27

### Table 4: Logic control parameters.

"... In PAGE 2: ... Upper part: The nine di erent possible combinations of high-, normal-, and low levels in the bu er (left tank) and supply (right tank), separated byvertical dotted lines, are shown. The level limits (see Table4 ) are indicated by two short horizontal lines in each tank. The three numbers above the tanks show, in each of the nine cases, the control input setting of the inlet valve (u d 3 ), the pump (u d 2 ), and the outlet valve(u d 4 ), respectively.... In PAGE 2: ... Then the pump stage is set to 0 or 2 (according to the present situation), while the valves keep their position from the upper part. See Table4 for the value of . The inlet- and outlet valves should be open.... ..."

### Table 1. The syntax and semantics of SL with pointer arithmetic and records

"... In PAGE 4: ...eparation Logic. We now introduce the separation logic (SL), see e.g. [Rey02], on top of which we will define our temporal logic. The syntax of the logic is given in Table1 . As separation logic is about reasoning on disjoint heaps, and we need to define what we mean by disjoint heaps in our model.... ..."

### Table 1. First-order logic part of the ODL calculus.

2006

"... In PAGE 10: ... Yet, rule applications for rst- order reasoning and program reasoning are not separated but intertwined. For rst-order and propositional logic standard rule schemata are listed in Table1 , including an integer induction scheme. Within the rules for the program logic part (Table 2), state update rules R29{R30 constitute a peculiarity of ODL and will be discussed after de ning rule applications.... ..."

Cited by 7

### Tableau CoLoSS is implemented in Haskell [13] and makes use of polymorphic types and type classes to separate the generic aspects of CoLoSS from the details of a particular logic. From this perspective, a particular logic instance is identified by a type which comprises a set of (unary) modal operators de- scribing the syntax of the logic; the class interface to be implemented for each instance essentially consists of a matching function embodying a set of one-step rules that governs the deductive process.

2007

### Table 2. Some logic programs from the literature.

2003

"... In PAGE 14: ... We believe a slightly specialized termination analyzer for typed programs could remove a significant part of this overhead. In Table2 , our second experiment, we selected six programs from the lit- erature, including our first example of Section 1. First, we manually added polymorphic Hindley/Milner types and checked well-typedness.... In PAGE 14: ... To construct the type separated program we used the inferred regular types. The results are shown in the last column of Table2 . In some cases we significantly improve the termination conditions for an untyped program without needing any user-added type information.... ..."

Cited by 10