Static analyses for reflection and other dynamic language features have recently increased in number and advanced in sophistication. Most such analyses rely on a whole-program model of the flow of strings, through the stack and heap. We show that this global modeling of strings remains a major bottleneck of static analyses and propose a compact encoding, in order to battle unnecessary complexity. In our encoding, strings are maximally merged if they can never serve to differentiate class members in reflection operations. We formulate the problem as an instance of graph coloring and propose a fast polynomial-time algorithm that exploits the unique features of the setting (esp. large cliques, leading to hundreds of colors for realistic progra...
Dynamic languages often employ reflection primitives to turn dynamically generated text into executa...
It is popular and appealing to design and construct a persistent programming language by extending t...
We perform static analysis of Java programs to answer a simple question: which values may occur as r...
Reflection is a highly dynamic language feature that poses grave problems for static analyses. In th...
The behavior of software using the Java Reflection API is fundamentally hard to predict by analyzing...
The behavior of software that uses the Java Reflection API is fundamentally hard to predict by analy...
The behavior of software using the Java Reflection API is fundamentally hard to predict by analyzing...
Reflection has always been a thorn in the side of Java static analysis tools. Without a full treatm...
Java reflection is increasingly used in a range of software and framework architectures.It allows a ...
Abstract. We perform static analysis of Java programs to answer a simple question: which values may ...
Static program analyses and transformations for Java face many problems when analyzing programs that...
Static program analyses and transformations for Java face many problems when analyzing programs that...
We define and present the computational structure of linguistic reflection as the ability of a runni...
We introduce Solar, the first reflection analysis that allows its soundness to be reasoned about whe...
Runtime reflection facilities, as present in Java and.NET, are powerful mechanisms for inspecting ex...
Dynamic languages often employ reflection primitives to turn dynamically generated text into executa...
It is popular and appealing to design and construct a persistent programming language by extending t...
We perform static analysis of Java programs to answer a simple question: which values may occur as r...
Reflection is a highly dynamic language feature that poses grave problems for static analyses. In th...
The behavior of software using the Java Reflection API is fundamentally hard to predict by analyzing...
The behavior of software that uses the Java Reflection API is fundamentally hard to predict by analy...
The behavior of software using the Java Reflection API is fundamentally hard to predict by analyzing...
Reflection has always been a thorn in the side of Java static analysis tools. Without a full treatm...
Java reflection is increasingly used in a range of software and framework architectures.It allows a ...
Abstract. We perform static analysis of Java programs to answer a simple question: which values may ...
Static program analyses and transformations for Java face many problems when analyzing programs that...
Static program analyses and transformations for Java face many problems when analyzing programs that...
We define and present the computational structure of linguistic reflection as the ability of a runni...
We introduce Solar, the first reflection analysis that allows its soundness to be reasoned about whe...
Runtime reflection facilities, as present in Java and.NET, are powerful mechanisms for inspecting ex...
Dynamic languages often employ reflection primitives to turn dynamically generated text into executa...
It is popular and appealing to design and construct a persistent programming language by extending t...
We perform static analysis of Java programs to answer a simple question: which values may occur as r...