## Interprocedural Shape Analysis (2000)

Venue: | Master’s thesis, Technion - Israel Institute of Technology |

Citations: | 5 - 1 self |

### BibTeX

@INPROCEEDINGS{Rinetzky00interproceduralshape,

author = {Noam Rinetzky and Arie Freund and Tal Lev-ami and Ran Shaham and Alex Warshavsky and Eran Yahav},

title = {Interprocedural Shape Analysis},

booktitle = {Master’s thesis, Technion - Israel Institute of Technology},

year = {2000}

}

### Years of Citing Articles

### OpenURL

### Abstract

The research was done under the supervision of Dr. Shmuel Sagiv and Prof. Orna

### Citations

636 | Systematic design of program analysis frameworks
- Cousot, Cousot
- 1979
(Show Context)
Citation Context ...ise to every consistent 2-valued structure. 4.2 The best abstract transformer This section provides a high level description of the algorithm in terms of the general abstract interpretation framework =-=[CC7-=-9]. Conceptually, the most precise (also called best) conservative eect of a program statement on a 3-valued logical structure S is dened in three stages shown in Figure 4.2: (i)snd each consistent 2-... |

543 | Parametric shape analysis via 3-valued logic
- Sagiv, Reps, et al.
- 2002
(Show Context)
Citation Context ...create is given in Section A.4. necessary to summarize all incarnations of recursive procedures in a bounded way. Shape-analysis algorithms can analyze linked lists in a fairly precise way, e.g., see =-=[SRW99]-=-. For an interprocedural analysis, we therefore follow the approach suggested in [JM82, Deu90] by summarizing activation records in essentially the same way linked list elements are summarized. By its... |

521 | Points-to analysis in almost linear time
- Steensgaard
- 1996
(Show Context)
Citation Context ...nt with scaling it up to programs of realistic size. One possible way involvessrst running a cheap and imprecise pointer-analysis algorithm, such as thesow-insensitive points-to analysis described in =-=[Ste96-=-], before proceeding to our quite precise but expensive analysis. An implementation of our compaction algorithm would allow us to test the actual benets of this technique. We focused this research on ... |

398 | Efficient Context-Sensitive Pointer Analysis for C Programs. REFERENCES 183 - Wilson, Lam - 1995 |

383 | Zadeck. Analysis of pointers and structures - Chase, Wegman, et al. - 1990 |

293 | Solving shape-analysis problems in languages with destructive updating
- Sagiv, Reps, et al.
- 1998
(Show Context)
Citation Context ...rocedural algorithms too. This solves an open problem mentioned there. Interestingly 6 our proposed solution is more precise and more ecient than the original interprocedural shape analysis algorithm =-=[SRW98]-=-. 1.1.2 Scaling the algorithm Our algorithm can handle any list-manipulating program. However, In practice the analyzer might run out of space. We address this problem and suggest a technique that can... |

228 | Interprocedural may-alias analysis for pointers: beyond k-limiting - Deutsch - 1994 |

208 | Typestate: A programming language concept for enhancing software reliability - Strom, Yemini - 1986 |

202 | Flow analysis and optimization of LISP-like structures - Jones, Muchnick - 1979 |

163 | Parallelizing programs with recursive data structures - Hendren, Nicolau - 1990 |

144 | Reps: Dependence analysis for pointer variables - Horwitz, Pfeiffer, et al. - 1989 |

103 | Relevant context inference - CHATTERJEE, RYDER, et al. - 1999 |

92 | Putting pointer analysis to work
- Ghiya, Hendren
- 1998
(Show Context)
Citation Context ... structures that the program manipulates. The analysis algorithm is conservative, i.e., the discovered information is true for every input. The information can be used to understand, verify, optimize =-=[GH98]-=-, or parallelize [LH88, Hen90, AW93, PCK93, Zap99] programs. For example, it can be utilized to check at compile-time for the absence of certain types of memory management errors, such as memory leaka... |

87 | Abstractions for recursive pointer data structures: Improving the analysis and transformation of imperative programs
- Hendren, Hummell, et al.
- 1992
(Show Context)
Citation Context ...t a local property holds for the analyzed program. Instead, the analysis determines the stack variables that have a given property. Of course, it can benet from the presence of a specication, e.g., [H=-=HN92-=-], which would allow us to look for the special global properties of the specied program. For example, the property sh b x (v) holds for a list element v that is pointed to by two or more invisible in... |

75 | On determining lifetime and aliasing of dynamically allocated data in higher-order functional specifications - Deutsch - 1990 |

41 |
Assignment and procedure call proof rules
- Gries, Levin
(Show Context)
Citation Context ...ary node out of a summary node is necessary for the precision of our algorithm [SRW98]. Our compaction approach for scaling the algorithm reminds the use of frame axioms in program correctness proofs =-=[GL8-=-0]. A frame axiom denes an invariance of the procedure. We rely on the fact that a portion of the memory that the procedure cannot refer to, cannot be modied by it. Thus, our solution can be viewed as... |

39 | Checking cleanness in linked lists - Dor, Rodeh, et al. - 2000 |

37 | Is it a tree, a DAG, or a cyclic graph - Ghiya, Hendren - 1996 |

35 |
TVLA: A framework for Kleene based static analysis
- Lev-Ami, Sagiv
- 2000
(Show Context)
Citation Context ...f pr last invocation). Because of this, our prototype implementation handles only programs with linear recursion. The algorithm has been implemented using a 3-valued logic analysis system called TVLA =-=[LAS00]-=- (for Three-Valued-Logic Analyzer). The inputs to the system are the procedure's controlsow graph, and logical formulae describing the operational semantics of each statement and condition. The system... |

14 | A lattice for abstract interpretation of dynamic (Lisp-like) structures - Stransky - 1992 |

13 | Analysis of Recursive Types in an Imperative Language - Wang - 1994 |

12 | Ecient interprocedural computation of pointerinduced aliases and side eects - Choi, Burke, et al. - 1993 |

11 | Detecting con between structure accesses - Larus, Hil - 1988 |

11 |
Two approaches to interprocedural data analysis
- Sharir, Pnueli
- 1981
(Show Context)
Citation Context ...ap S (v) = 1, or an activation record, in which case stack S (v) = 1. The unary predicate cs label indicates the call-site at which a procedure is invoked. Its similarities with the call-strings of [=-=SP-=-81] are discussed in Chapter 8. The unary predicate top is true for the current activation record. The binary relation n captures the n-successor relation between list elements. The binary relation... |

10 | A approach to interprocedural data analysis and programs with recursive data structures - Jones, Muchnick - 1982 |

9 | Interprocedural heap analysis for parallelizing imperative programs - Assmann, Weinhardt - 1993 |

9 | Detecting memory errors via static pointer analysis - Dor, Rodeh, et al. - 1998 |

8 | Mechanisms for Compile-Time Enforcement of Security - Strom - 1983 |

5 | Analysis of dynamic structures for ecient parallel execution - Plevyak, Chien, et al. - 1993 |

2 | Automatic parallelization of irregular applications - Zapata - 1999 |

1 |
A Platform for Combinatorical and Generic Computing. Cambridge University Press, edition
- LEDA
- 1999
(Show Context)
Citation Context ...structure at l 2 , since invoking enqQ on a non-empty queue results in a non-empty queue. 6.3 Experience with LEDA We applied FSMs to analyze singly linked lists data structure implementation in LEDA =-=[MN99]-=-. LEDA is a library of generic data structures written 46 l 0 l 1 l 2 l 3 x ## ######## E x ## ######## :E x ## ######## :E Figure 6.6: The representation of the memory state at each point of the queu... |

1 | The LDEA User Manual - Nahr - 1995 |