A variable v reaches a variable w if there is a path from the memory location bound to v to the one bound to w. This information is important for improving the precision of other static analyses, such as side-eects, field initialization, cyclicity and path-length, as well as of more complex analyses built upon them, such as nullness and termination. We present a provably correct constraint-based reachability analysis for Java bytecode. Our constraint is a graph whose nodes are program points and whose arcs propagate reachability information according to the semantics of bytecodes. The analysis has been implemented in the Julia static analyzer. Experiments that we performed on non-trivial Java and Android programs show an improvement of prec...
This paper shows how to harness existing theorem provers for first-order logic to automatically veri...
We consider the fundamental problem of reachability analysis over imperative programs with real vari...
Program analysis has a long history in computer science. Even when only considering the important as...
Reachability from a program variable v to a program variable w states that from v , it is possible t...
In programming languages with dynamic use of memory, such as Java, knowing that a reference variable...
Field-sensitive static analyses of object-oriented code use approximations of the computational stat...
Field-sensitive static analyses of object-oriented code use approximations of the computational stat...
In programming languages with dynamic use of memory, such as Java, knowing that a reference variable...
It is important to prove that supposedly terminating programs actually terminate, particularly if th...
Abstract. We present a disjoint reachability analysis for Java. Our analysis com-putes extended poin...
AbstractAbstract interpretation has been widely used for the analysis of object-oriented languages a...
We describe our software tool Julia for the static analysis of full Java bytecode, for optimisation ...
It is important to prove that supposedly terminating programs actuallyterminate, particularly if tho...
We describe an escape analysis [32, 14], used to determine whether the lifetime of data exceeds its ...
This dissertation presents a pointer analysis for Java programs, together with several practical ana...
This paper shows how to harness existing theorem provers for first-order logic to automatically veri...
We consider the fundamental problem of reachability analysis over imperative programs with real vari...
Program analysis has a long history in computer science. Even when only considering the important as...
Reachability from a program variable v to a program variable w states that from v , it is possible t...
In programming languages with dynamic use of memory, such as Java, knowing that a reference variable...
Field-sensitive static analyses of object-oriented code use approximations of the computational stat...
Field-sensitive static analyses of object-oriented code use approximations of the computational stat...
In programming languages with dynamic use of memory, such as Java, knowing that a reference variable...
It is important to prove that supposedly terminating programs actually terminate, particularly if th...
Abstract. We present a disjoint reachability analysis for Java. Our analysis com-putes extended poin...
AbstractAbstract interpretation has been widely used for the analysis of object-oriented languages a...
We describe our software tool Julia for the static analysis of full Java bytecode, for optimisation ...
It is important to prove that supposedly terminating programs actuallyterminate, particularly if tho...
We describe an escape analysis [32, 14], used to determine whether the lifetime of data exceeds its ...
This dissertation presents a pointer analysis for Java programs, together with several practical ana...
This paper shows how to harness existing theorem provers for first-order logic to automatically veri...
We consider the fundamental problem of reachability analysis over imperative programs with real vari...
Program analysis has a long history in computer science. Even when only considering the important as...