Java 7 introduced programmable dynamic linking in the form of the invokedynamic framework. Static analysis of code containing programmable dynamic linking has often been cited as a significant source of unsoundness in the analysis of Java programs. For example, Java lambdas, introduced in Java 8, are a very popular feature, which is, however, resistant to static analysis, since it mixes invokedynamic with dynamic code generation. These techniques invalidate static analysis assumptions: programmable linking breaks reasoning about method resolution while dynamically generated code is, by definition, not available statically. In this paper, we show that a static analysis can predictively model uses of invokedynamic while also cooperating with ...
Field-sensitive static analyses of object-oriented code use approximations of the computational stat...
Static analyses based on denotational semantics can naturally modelfunctional behaviours of the code...
Dynamic program analyses, such as profiling, tracing and bug-finding tools, are essential for softw...
Static analyses aspire to explore all possible executions in order to achieve soundness. Yet, in pra...
The strength of program static analysis techniques lies on its ability to detect faulty behaviors p...
AbstractThis paper shows how to integrate two complementary techniques for manipulating program inva...
Guaranteeing the absence of errors in a program is a great challenge and many static analysis techni...
AbstractStatic analysis is usually faster than dynamic analysis but less precise. Therefore it is of...
Modern software systems are not built from scratch. They use functionality provided by libraries. Th...
Static analysis is usually faster than dynamic analysis but less precise. Therefore it is often desi...
Java Specification Request (JSR) 292, which was realized with Java 7, defines a new java bytecode ca...
The developers of tools for dynamic analysis are faced with choosing from the many approaches to gat...
This artifact contains the evaluation benchmarks for the paper "Static Analysis of Java Enterprise A...
Static analysis tools cannot detect violations of application-specific rules. They can be extended w...
The Java programming language provides an almost ideal environment for both static and dynamic anal...
Field-sensitive static analyses of object-oriented code use approximations of the computational stat...
Static analyses based on denotational semantics can naturally modelfunctional behaviours of the code...
Dynamic program analyses, such as profiling, tracing and bug-finding tools, are essential for softw...
Static analyses aspire to explore all possible executions in order to achieve soundness. Yet, in pra...
The strength of program static analysis techniques lies on its ability to detect faulty behaviors p...
AbstractThis paper shows how to integrate two complementary techniques for manipulating program inva...
Guaranteeing the absence of errors in a program is a great challenge and many static analysis techni...
AbstractStatic analysis is usually faster than dynamic analysis but less precise. Therefore it is of...
Modern software systems are not built from scratch. They use functionality provided by libraries. Th...
Static analysis is usually faster than dynamic analysis but less precise. Therefore it is often desi...
Java Specification Request (JSR) 292, which was realized with Java 7, defines a new java bytecode ca...
The developers of tools for dynamic analysis are faced with choosing from the many approaches to gat...
This artifact contains the evaluation benchmarks for the paper "Static Analysis of Java Enterprise A...
Static analysis tools cannot detect violations of application-specific rules. They can be extended w...
The Java programming language provides an almost ideal environment for both static and dynamic anal...
Field-sensitive static analyses of object-oriented code use approximations of the computational stat...
Static analyses based on denotational semantics can naturally modelfunctional behaviours of the code...
Dynamic program analyses, such as profiling, tracing and bug-finding tools, are essential for softw...