2003
DOI: 10.1145/780822.781146
|View full text |Cite
|
Sign up to set email alerts
|

Checking and inferring local non-aliasing

Abstract: In prior work [15] we studied a language construct <tt>restrict</tt> that allows programmers to specify that certain pointers are not aliased to other pointers used within a lexical scope. Among other applications, programming with these constructs helps program analysis tools locally recover strong updates, which can improve the tracking of state in flow-sensitive analyses. In this paper we continue the study of <tt>restrict</tt> and introduce the construct <tt>confine</tt>… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
28
0

Year Published

2004
2004
2011
2011

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 22 publications
(28 citation statements)
references
References 26 publications
0
28
0
Order By: Relevance
“…1 Representation exposure occurs when implementation details are accessible to clients. Java's access control mechanisms (for example, the private keyword) partly address this problem; Javari prevents some additional problems.…”
Section: Public Readonly Int[] Toarray() {mentioning
confidence: 99%
See 1 more Smart Citation
“…1 Representation exposure occurs when implementation details are accessible to clients. Java's access control mechanisms (for example, the private keyword) partly address this problem; Javari prevents some additional problems.…”
Section: Public Readonly Int[] Toarray() {mentioning
confidence: 99%
“…Determining complete, accurate alias information remains beyond the state of the art; fortunately, the analyses below do not require full alias analysis. Obtaining alias information about a particular reference can be easier and more precise than the general problem [1]. Many programs use (some) pointers in disciplined and limited ways; these may correspond to, and may be motivated by, the places where programmers desire to reason about immutability.…”
Section: Type-based Analysesmentioning
confidence: 99%
“…Compared to Cyclone's support for unique pointers in non-unique context, adoption prevents more space leaks, but requires hidden data fields so the run-time system can deallocate data structures implicitly. Focus (which is similar to Aiken et al's restrict [38] allows adopted objects to be temporarily unique. Compared to swap, focus does not incur run-time overhead, but the type system to prevent access through an unknown alias requires substantially more user annotations because it must ensure a non-local invariant.…”
Section: Related Workmentioning
confidence: 99%
“…Recently, Foster et al have provided a flow-insensitive type inference procedure for inferring that some expressions in a procedure are not aliased, allowing for strong updates in certain cases [2]. Our approach is path-sensitive, because of which it is able to perform strong updates in more cases.…”
Section: Strong Updates On Heap Objectsmentioning
confidence: 99%
“…Recent work by Aiken et al[2] allows for strong updates without shape analysis, when the aliasing relationships in the code satisfy certain constraints (seeSection 6).…”
mentioning
confidence: 99%