### Table 8. Monadic-uniform transformers for doubly-linked lists.

2006

"... In PAGE 27: ... TVLA uses a slightly different formulation 11, for which we also have monadic-uniform transformers. The update formulas for the additional relations is given in Table8 . Only operations manipulating f are listed.... ..."

### Table 4: Performance of a priority queue realized by an unsorted sequence, implemented with a doubly-linked list. We denote with N the number of ele- ments in the priority queue at the time the operation is performed. The space complexity is O(N).

1996

"... In PAGE 13: ... Finally, as observed above, operation RemoveMax is a combination of Max and Remove. Table4 shows the time complexity of this realization, assuming that the sequence is implemented with a doubly-linked... ..."

Cited by 1

### Table 8: Performance of a dictionary realized by a sorted sequence, implemented with a doubly-linked list. We denote with N the number of elements in the dictionary at the time the operation is performed. The space complexity is O(N).

1996

"... In PAGE 23: ... However, in a Find operation, we can stop scanning the sequence as soon as we nd an element with a key larger than the search key. Table8 shows the time complexity of this realization by a sorted sequence, assuming that the sequence is implemented with a doubly-linked list. 4.... ..."

Cited by 1

### Table 9 specifies the update formulas for the new relations. Only operations chang- ing the pointer fields are supported, not the data fields. The idea behind the update formulas is very similar to the update of doubly-linked lists. Relation Update Formula

2006

"... In PAGE 28: ... Table9 . Monadic-uniform transformers for ordering.... ..."

### Table 2. (a) a data type of colored doubly linked lists: each list node is marked with either RED or BLACK. (b) a program that divides a colored doubly linked list into two disjoint lists, pointed to by dllR and dllB, each of which contains nodes of one color only.

2004

"... In PAGE 10: ... (b) a program that divides a colored doubly linked list into two disjoint lists, pointed to by dllR and dllB, each of which contains nodes of one color only. Consider the data-type in Table2 (a) that defines a doubly-linked list with an addi- tional bit for each element, represented by the unary predicates RED(v) and BLACK(v). The program divide(x) in Table 2(b) takes as input a doubly-linked list pointed to by x that may contain both red and black elements.... In PAGE 10: ... Consider the data-type in Table 2(a) that defines a doubly-linked list with an addi- tional bit for each element, represented by the unary predicates RED(v) and BLACK(v). The program divide(x) in Table2 (b) takes as input a doubly-linked list pointed to by x that may contain both red and black elements. We can verify that this program ar- ranges the elements reachable from x into two disjoint doubly-linked lists pointed to by dllR and dllB, each of which contains elements of only one color.... In PAGE 11: ... 2. Example structures produced by the divide(x) operation on Red-Black List from Table2 , are shown on the left. The corresponding representation structures are on the right.... ..."

Cited by 15

### Table 2. (a) a data type of colored doubly linked lists: each list node is marked with either RED or BLACK. (b) a program that divides a colored doubly linked list into two disjoint lists, pointed to by dllR and dllB, each of which contains nodes of one color only.

2004

"... In PAGE 10: ... (b) a program that divides a colored doubly linked list into two disjoint lists, pointed to by dllR and dllB, each of which contains nodes of one color only. Consider the data-type in Table2 (a) that defines a doubly-linked list with an addi- tional bit for each element, represented by the unary predicates RED(v) and BLACK(v). The program divide(x) in Table 2(b) takes as input a doubly-linked list pointed to by x that may contain both red and black elements.... In PAGE 10: ... Consider the data-type in Table 2(a) that defines a doubly-linked list with an addi- tional bit for each element, represented by the unary predicates RED(v) and BLACK(v). The program divide(x) in Table2 (b) takes as input a doubly-linked list pointed to by x that may contain both red and black elements. We can verify that this program ar- ranges the elements reachable from x into two disjoint doubly-linked lists pointed to by dllR and dllB, each of which contains elements of only one color.... In PAGE 11: ... 2. Example structures produced by the divide(x) operation on Red-Black List from Table2 , are shown on the left. The corresponding representation structures are on the right.... ..."

Cited by 15

### Table 2. (a) a data type of colored doubly linked lists: each list node is marked with either RED or BLACK. (b) a program that divides a colored doubly linked list into two disjoint lists, pointed to by dllR and dllB, each of which contains nodes of one color only.

"... In PAGE 10: ... (b) a program that divides a colored doubly linked list into two disjoint lists, pointed to by dllR and dllB, each of which contains nodes of one color only. Consider the data-type in Table2 (a) that defines a doubly-linked list with an addi- tional bit for each element, represented by the unary predicates RED(v) and BLACK(v). The program divide(x) in Table 2(b) takes as input a doubly-linked list pointed to by x that may contain both red and black elements.... In PAGE 10: ... Consider the data-type in Table 2(a) that defines a doubly-linked list with an addi- tional bit for each element, represented by the unary predicates RED(v) and BLACK(v). The program divide(x) in Table2 (b) takes as input a doubly-linked list pointed to by x that may contain both red and black elements. We can verify that this program ar- ranges the elements reachable from x into two disjoint doubly-linked lists pointed to by dllR and dllB, each of which contains elements of only one color.... In PAGE 11: ... 2. Example structures produced by the divide(x) operation on Red-Black List from Table2 , are shown on the left. The corresponding representation structures are on the right.... ..."

### Table 1: Benchmark Descriptions Irvine [18] and Wisconsin [3] benchmark suites. A brief description of the benchmarks is provided in Table 1. The table also summarizes the principal data structures used by the benchmarks. Here S-Array denotes a stat- ically allocated array, D-Array denotes a dynamically allocated array, and D-linked list denotes a doubly- linked list.

1998

"... In PAGE 7: ... while (p != NULL) { S: r- gt;i = r- gt;i + p- gt;i; T: p = p- gt;next; } tr = r- gt;i; while (p != NULL) { S: tr = tr + p- gt;i; T: p = p- gt;next; } r- gt;i = tr; (a) (b) Figure 6: Location Invariants 3.2 Experimental Results for Scalar Opti- mizations In this subsection, we study the experimental results obtained by applying the above three optimizations to a suite of 12 pointer intensive C benchmarks programs brie y described in Table1 ( rst 12 entries). We have collected both static (compile-time) and dynamic (run- time) statistics.... ..."

Cited by 86

### Table 2: Compression speed (in seconds, on a 60Mhz SPARCstation-20) C: number of classes S: number of selectors M: total of legitimate class-selector combinations SIO: singly-linked freelist with index-ordered single-entry rows DIO: doubly-linked freelist with index-ordered single-entry rows DRO: doubly-linked freelist with reverse index-ordered single-entry rows

in Dynamically-Typed Object-Oriented Languages with Polymorphic Inline Caches. In ECOOP ‘91 Conference

### Table 2 summarizes the different shape-analysis problems described in this sec- tion and the type of feasibility checks we have for them. For all of these problems, we show monadic-uniform transformers for field manipulations. SLL/DLL stands for Singly/Doubly Linked Lists, and NUC for No Undirected Cycles. PVar stands for Pro- gram Variables. A description of each class of structures and the meaning of each re- lation is given in the appropriate subsection below. Note that for every vocabulary we require a new feasibility-checking algorithm. Dong and Su [5] show how to update reachability in a general acyclic graph using first-order logic. However, their formulas are not monadic-uniform and it is unclear whether it is possible to make them monadic-uniform.

2006

"... In PAGE 13: ... Further details can be found in [8]. Table2 . Summary of the shape-analysis problems and their feasibility-check status Structures Vocabulary Feasibility Acyclic SLL pn, n,PVar Direct Acyclic SLL rx,n, n,PVar,Colors Direct Cyclic SLL pn, pcn, n,PVar Direct Cyclic SLL rx,n, rcx,n, n,PVar,Colors Direct DLL pf, pb, cf,b, cb,f,PVar,Colors Direct/Open Ordered SLL rx,n, rcx,n, n, dle,PVar,inOrdn,dle, inROrdn,dle Open... ..."