| E. Y.-B. Wang. Analysis of Recursive Types in an Imperative Language. PhD thesis, University of California, Berkeley, CA, 1994. 40 |
....of Statement 5. Fig. 8 depicts the abstract states computed by the staged certifier that correspond to those concrete states. It is interesting to compare the abstract state used by our specialized certifer with that computed by a sophisticated heap analysis based on storage shape graphs [37, 33]. These analyses merge variables representing values of nullary predicate abstraction used for certification boolean stale i1 , stale i2 , stale i3 ; boolean iterof i1,v , iterof i2,v , iterof i3,v ; i1,i1 ,m i1,i2 ,m i1,i3 ,m i2,i1 ,m i2,i2 ; i2,i3 ,m i3,i1 ,m i3,i2 ,m i3,i3 ; ....
....will soon explain the specific abstract interpretations we use for TVP. Code manipulating primitive (non reference) types is abstracted away (i.e. is not modelled) by the translation. The above approach, effectively, analyzes the composite program using the heap analysis algorithm described in [37, 33]. Simple variations on the scheme described above for translating Java programs into TVP can be used to utilize several other well known heap analysis techniques for certification (see ( 34] Java Statement TVP Translation x = new C( let n = new( in pt x (o) o = n) x=y pt x (o) pt y (o) ....
[Article contains additional citation context not shown here]
E. Y.-B. Wang. Analysis of Recursive Types in an Imperative Language. PhD thesis, Univ. of Calif., Berkeley, CA, 1994.
....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 leakage or dereference of null pointers [DRS98, DRS00] In the past two decades, many shape analysis algorithms have been developed [JM81, JM82, LH88, HPR89, CWZ90, Str92, AW93, PCK93, Wan94, SRW98]. The quality , and thus the usability, of the information these algorithms can determine relies on the assumption that the number of variables is xed. When this assumption is violated, as is the case when recursive procedures are used, the quality of the results, as well as the cost, of these ....
E. Y.-B. Wang. Analysis of Recursive Types in an Imperative Language. PhD thesis, Univ. of Calif., Berkeley, CA, 1994.
.... create di erent classes of shape descriptors for programs that perform destructive updating on dynamically allocated storage [Jones and Muchnick 1981; 1982; Larus and Hil nger 1988; Horwitz et al. 1989; Chase et al. 1990; Stransky 1992; Assmann and Weinhardt 1993; Plevyak et al. 1993; Wang 1994; Sagiv et al. 1998] A common feature of these algorithms is that they represent the set of possible memory states ( stores ) that arise at a given point in the program by shape graphs, in which heap cells are represented by shape graph nodes and, in particular, sets of indistinguishable heap ....
....can be instantiated in di erent ways to create shape analysis algorithms that provide di erent degrees of precision. The essence of a number of previous shapeanalysis algorithms, including [Jones and Muchnick 1981; 1982; Horwitz et al. 1989; Chase et al. 1990; Stransky 1992; Plevyak et al. 1993; Wang 1994; Sagiv et al. 1998] can be viewed as instances of this framework. Other instantiations of the framework yield new shape analysis algorithms that obtain more precise information than previous work. A parametric framework must address two issues: i. What is the language for specifying (a) the ....
[Article contains additional citation context not shown here]
Wang, E. Y.-B. 1994. Analysis of recursive types in an imperative language. Ph.D. thesis, Univ. of Calif., Berkeley, CA.
.... algorithms have been developed that can automatically identify shape invariants in some programs that manipulate heap allocated storage [Jones and Muchnick 1981; 1982; Larus and Hilfinger 1988; Horwitz et al. 1989; Chase et al. 1990; Stransky 1992; Assmann and Weinhardt 1993; Plevyak et al. 1993; Wang 1994; Sagiv et al. 1998] A common feature of these algorithms is that they represent heap cells by shape nodes and sets of indistinguishable heap cells by a single shape node, often called a summary node [Chase et al. 1990] In these shape analyses, the shape graphs capture properties of the ....
.... version of such a system, based on the methods presented in this paper, has recently been implemented in Java [LevAmi 2000] A number of previous shape analysis algorithms, including [Jones and Muchnick 1981; 1982; Horwitz et al. 1989; Chase et al. 1990; Stransky 1992; Plevyak et al. 1993; Wang 1994; Sagiv et al. 1998] can be viewed as instances of the framework presented in this paper. 1.1.2 The Use of Logic for Shape Analysis. In our shape analysis framework, predicate logic formulae play many roles: expressing both the concrete and abstract semantics of the programming language; ....
[Article contains additional citation context not shown here]
Wang, E. Y.-B. 1994. Analysis of recursive types in an imperative language. Ph.D. thesis, Univ.
.... and it is challenging to prove that invariants are reestablished once a sequence of operations is finished [9] In the past two decades, many shape analysis algorithms have been developed that can automatically identify shape invariants in some programs that manipulate heap allocated storage [11, 12, 15, 10, 2, 21, 1, 16, 22, 19]. A common feature of these algorithms is that they represent heap cells by shapenodes and sets of indistinguishable run time locations by a single shape node, often called a summary node [2] One Supported in part by the U.S. Israel BSF under grant 96 00337. Address: Dept. of Comp. Sci. ....
....of [12, 2] which can be incorporated into the framework by introducing unary core predicates that record the allocation sites of heap cells. ffl The algorithm of [16] which can be captured in the framework using the predicates cf:b (v) and c b:f (v) see Tables 2 and 3) ffl The algorithms of [22, 19]. These map unbounded size stores into bounded size abstractions by collapsing concrete cells that are not directly pointed to by program variables into one abstract cell, whereas concrete cells that are pointed to by different sets of variables are kept apart in different abstract cells. See ....
E. Y.-B. Wang. Analysis of Recursive Types in an Imperative Language. PhD thesis, Univ. of Calif., Berkeley, CA, 1994.
....into an Lr formula. 1 Introduction This paper aims to provide a better formalism for describing properties of linked data structures (e.g. lists, trees, graphs) In past work with the same motivation, a variety of different formalisms have been developed including static shape graphs [14, 15, 17, 12, 3, 23, 1, 19, 27, 21, 20, 22], path matrices [9, 11] graph types [16] and the ADDS annotation formalism [10] and several previously known formalisms have been exploited including graph grammars [6] and monadic second order logic [13] For lack of a better term, we will use the phrase structure description ....
E. Y.-B. Wang. Analysis of Recursive Types in an Imperative Language. PhD thesis, Univ. of Calif., Berkeley, CA, 1994.
.... which predicts memory usage bugs [Eva96] and for program optimization (e.g. to improve memory locality [LM96] In the past two decades, many shape analysis algorithms have been developed that can automatically identify shape invariants in some programs that manipulate heap allocated storage [JM81, JM82, LH88, HPR89, CWZ90, Str92, AW93, PCK93, Wan94, SRW98]. A common feature of these algorithms is that they represent multiple run time locations by a single shape node , often called summary nodes [CWZ90] One way of looking at these algorithms is that shape graphs are indirect representations of store invariants. 1.1 Main Results This paper ....
....have different canonical names. Remark. The term canonical abstraction was chosen as a reminder that t embed c is a generalization of the abstraction functions that have been used in some of the previous work on shape analysis. As mentioned in the Introduction, an idea that has been used in [Wan94, SRW98] to embed unbounded size stores into bounded size abstractions is to collapse concrete elements that are not directly pointed to by program variables into one abstract element, whereas concrete elements that are pointed to by different sets of variables are kept apart in different abstract ....
[Article contains additional citation context not shown here]
E. Y.-B. Wang. Analysis of Recursive Types in an Imperative Language. PhD thesis, University of California, Berkeley, CA, 1994.
No context found.
E. Y.-B. Wang. Analysis of Recursive Types in an Imperative Language. PhD thesis, University of California, Berkeley, CA, 1994. 40
No context found.
E. Y.-B. Wang. Analysis of Recursive Types in an Imperative Language. PhD thesis, University of California, Berkeley, CA, 1994. 17
No context found.
Edward Wang. Analysis of Recursive Types in an Imperative Language. PhD thesis, Computer Science Division (EECS), University of California, Berkeley, CA, 1994. To appear.
No context found.
E. Y.-B. Wang. Analysis of Recursive Types in an Imperative Language. PhD thesis, Univ. of Calif., Berkeley, CA, 1994.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC