We present a new technique for helping developers understand heap referencing properties of object-oriented programs and how the actions of the program affect these properties. Our dynamic analysis uses the aliasing properties of objects to synthesize a set of roles; each role represents an abstract object state intended to be of interest to the developer. We allow the developer to customize the analysis to explore the object states and behavior of the program at multiple different and potentially complementary levels of abstraction. The analysis uses roles as the basis for three abstractions: role transition diagrams, which present the observed transitions between roles and the methods responsible for the transitions; role relationshi...
Static analysis which takes into account the values of data stored in the heap is considered complex...
Abstract. Effective static analyses of heap-manipulating programs need to track precise information ...
In this paper we introduce a new view on roles in Object Ori-ented programming languages. Our notion...
The program heap is fundamentally a simple mathematical concept --- a set of objects and a connectiv...
AbstractThe program state for object-oriented languages, such as Java or C#, consists of both variab...
The program state for object-oriented languages, such as Java or C#, consists of both variables loca...
The technique of abstract interpretation analyzes a computer program to infer various properties abo...
For many years, programmers have faced the problem of reading and trying to understand other program...
Dependence information between program values is extensively used in many program optimization techn...
Dependence information between program values is extensively used in many program optimization techn...
A number of proposals to manage aliasing in Java-like programming languages have been advanced over ...
Abstract. In dynamic languages, objects are open—they support iteration over and dynamic addition/de...
We study the behavior of Java objects in order to explore potential garbage collection optimization ...
Programmers increasingly rely on managed languages (e.g. Java and C#) to develop applications faster...
Figure 1: We contribute a novel way of debugging, allowing the user to directly interact with a prog...
Static analysis which takes into account the values of data stored in the heap is considered complex...
Abstract. Effective static analyses of heap-manipulating programs need to track precise information ...
In this paper we introduce a new view on roles in Object Ori-ented programming languages. Our notion...
The program heap is fundamentally a simple mathematical concept --- a set of objects and a connectiv...
AbstractThe program state for object-oriented languages, such as Java or C#, consists of both variab...
The program state for object-oriented languages, such as Java or C#, consists of both variables loca...
The technique of abstract interpretation analyzes a computer program to infer various properties abo...
For many years, programmers have faced the problem of reading and trying to understand other program...
Dependence information between program values is extensively used in many program optimization techn...
Dependence information between program values is extensively used in many program optimization techn...
A number of proposals to manage aliasing in Java-like programming languages have been advanced over ...
Abstract. In dynamic languages, objects are open—they support iteration over and dynamic addition/de...
We study the behavior of Java objects in order to explore potential garbage collection optimization ...
Programmers increasingly rely on managed languages (e.g. Java and C#) to develop applications faster...
Figure 1: We contribute a novel way of debugging, allowing the user to directly interact with a prog...
Static analysis which takes into account the values of data stored in the heap is considered complex...
Abstract. Effective static analyses of heap-manipulating programs need to track precise information ...
In this paper we introduce a new view on roles in Object Ori-ented programming languages. Our notion...