Abstract. We present a unification-based, context-sensitive escape and effect analysis that infers lightweight method summaries describing heap effects. The analysis is parameterized on two values: k, indicating the heap depth beyond which objects escape; and b, a branching factor indicating the maximum number of fields per object that the analysis precisely tracks. Restricting these parameters to small values allows us to keep the method summaries lightweight and practical. Results collected from our implementation shows that the analysis scales well to large code bases such as the GNU Classpath libraries. They also show that summaries can help analysis clients approximate the effects of method calls, avoiding expensive inter-procedural co...
Programmers increasingly rely on managed languages (e.g. Java and C#) to develop applications faster...
Abstract. The performance of heap analysis techniques has a significant impact on their utility in o...
Escape analysis is a static analysis that determines whether the lifetime of data may exceed its sta...
We present a new method purity analysis for Java programs.A method is pure if it does not mutate any...
A number of questions regarding programs involving heap-based data structures can be phrased as ques...
This dissertation addresses the scalability problem of context-sensitive pointer analysis based on A...
Thread escape analysis (hereafter referred to as escape analysis) determines what objects may be acc...
We introduce a precise interprocedural effect analysis for programs with mutable state, dynamic obje...
Abstract. The performance of heap analysis techniques has a significant impact on their utility in a...
We introduce a precise interprocedural effect analysis for programs with mutable state, dynamic obje...
Effect systems are important for reasoning about the side effects of a program. Although effect syst...
Abstract. We present a combined class-modular points-to and class-escape analysis that allows to ana...
Interprocedural program analysis is often performed by computing procedure summaries. While possible...
In our recent work, we have developed compiler analyses and transformations that operate at the leve...
Heap data is potentially unbounded and seemingly arbitrary. Hence, unlike stack and static data, hea...
Programmers increasingly rely on managed languages (e.g. Java and C#) to develop applications faster...
Abstract. The performance of heap analysis techniques has a significant impact on their utility in o...
Escape analysis is a static analysis that determines whether the lifetime of data may exceed its sta...
We present a new method purity analysis for Java programs.A method is pure if it does not mutate any...
A number of questions regarding programs involving heap-based data structures can be phrased as ques...
This dissertation addresses the scalability problem of context-sensitive pointer analysis based on A...
Thread escape analysis (hereafter referred to as escape analysis) determines what objects may be acc...
We introduce a precise interprocedural effect analysis for programs with mutable state, dynamic obje...
Abstract. The performance of heap analysis techniques has a significant impact on their utility in a...
We introduce a precise interprocedural effect analysis for programs with mutable state, dynamic obje...
Effect systems are important for reasoning about the side effects of a program. Although effect syst...
Abstract. We present a combined class-modular points-to and class-escape analysis that allows to ana...
Interprocedural program analysis is often performed by computing procedure summaries. While possible...
In our recent work, we have developed compiler analyses and transformations that operate at the leve...
Heap data is potentially unbounded and seemingly arbitrary. Hence, unlike stack and static data, hea...
Programmers increasingly rely on managed languages (e.g. Java and C#) to develop applications faster...
Abstract. The performance of heap analysis techniques has a significant impact on their utility in o...
Escape analysis is a static analysis that determines whether the lifetime of data may exceed its sta...