The behavior of software that uses the Java Reflection API is fundamentally hard to predict by analyzing code. Only recent static analysis approaches can resolve reflection under unsound yet pragmatic assumptions. We survey what approaches exist and what their limitations are. We then analyze how real-world Java code uses the Reflection API, and how many Java projects contain code challenging state-of-The-Art static analysis. Using a systematic literature review we collected and categorized all known methods of statically approximating reflective Java code. Next to this we constructed a representative corpus of Java systems and collected descriptive statistics of the usage of the Reflection API. We then applied an analysis on the abstract s...
The use of automatic static analysis has been a software engineering best practice for decades. Howe...
Static analysis tools cannot detect violations of application-specific rules. They can be extended w...
A number of tools can statically check program code to identify commonly encountered bug patterns. A...
The behavior of software using the Java Reflection API is fundamentally hard to predict by analyzing...
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...
Reflection is a highly dynamic language feature that poses grave problems for static analyses. In th...
Java reflection is increasingly used in a range of software and framework architectures.It allows a ...
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...
Reflective systems allow their own structures to be altered from within. Here we are concerned with ...
Reflective systems allow their own structures to be altered from within. Here we are concerned with ...
The application field of static analysis techniques for objectoriented programming is getting broade...
Runtime reflection facilities, as present in Java and.NET, are powerful mechanisms for inspecting ex...
It is popular and appealing to design and construct a persistent programming language by extending t...
The use of automatic static analysis has been a software engineering best practice for decades. Howe...
Static analysis tools cannot detect violations of application-specific rules. They can be extended w...
A number of tools can statically check program code to identify commonly encountered bug patterns. A...
The behavior of software using the Java Reflection API is fundamentally hard to predict by analyzing...
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...
Reflection is a highly dynamic language feature that poses grave problems for static analyses. In th...
Java reflection is increasingly used in a range of software and framework architectures.It allows a ...
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...
Reflective systems allow their own structures to be altered from within. Here we are concerned with ...
Reflective systems allow their own structures to be altered from within. Here we are concerned with ...
The application field of static analysis techniques for objectoriented programming is getting broade...
Runtime reflection facilities, as present in Java and.NET, are powerful mechanisms for inspecting ex...
It is popular and appealing to design and construct a persistent programming language by extending t...
The use of automatic static analysis has been a software engineering best practice for decades. Howe...
Static analysis tools cannot detect violations of application-specific rules. They can be extended w...
A number of tools can statically check program code to identify commonly encountered bug patterns. A...