Programs that manipulate dynamic heap objects are difficult to analyze due to issues like aliasing. Lazy initialization algorithm enables the classical symbolic execution to handle such programs. Despite its successes, there are two unresolved issues: (1) inefficiency; (2) lack of formal study. For the inefficiency issue, we have proposed two improved algorithms that give significant analysis time reduction over the original lazy initialization algorithm. In this article, we formalize the lazy initialization algorithm and the improved algorithms as operational semantics of a core subset of the Java Virtual Machine (JVM) instructions, and prove that all algorithms are relatively sound and complete with respect to the JVM concrete semantics. ...
AbstractJava virtual machine (JVM) crashes are often due to an invalid memory reference to the JVM h...
The Java Virtual Machine (Standard Edition) normally interprets Java byte code but also compiles Jav...
IEEE Transactions on Parallel and Distributed Systems Volume 18 , Issue 1 (January 2007) Pages...
Programs that manipulate dynamic heap objects are difficult to analyze due to issues like aliasing. ...
Lazy initialization enables symbolic execution for programs with heap-allocated inputs. In this arti...
Symbolic execution is a well established method for test input generation. Despite of having achieve...
Java programs are deployed in a bytecode format that is executed by a Java virtual machine (JVM). J...
Lazy Initialization (LI) allows symbolic execution to effectively deal with heap-allocated data stru...
Abstract. Symbolic execution is a flexible and powerful, but computa-tionally expensive technique to...
Abstract. We exhibit a grey area in the speci cation of Java and of its implementation through the J...
Program analysis has a long history in computer science. Even when only considering the important as...
Symbolic execution is a flexible and powerful, but computationally expensive technique to detect dyn...
Abstract: We present a resource-aware program logic for a JVM-like language and prove its soundness ...
Interpretation of Java bytecode results in slow execution of program.First version of Java Virtual M...
Recent advances in Virtual Machine\u2019s technology have led to the diffusion of Java execution env...
AbstractJava virtual machine (JVM) crashes are often due to an invalid memory reference to the JVM h...
The Java Virtual Machine (Standard Edition) normally interprets Java byte code but also compiles Jav...
IEEE Transactions on Parallel and Distributed Systems Volume 18 , Issue 1 (January 2007) Pages...
Programs that manipulate dynamic heap objects are difficult to analyze due to issues like aliasing. ...
Lazy initialization enables symbolic execution for programs with heap-allocated inputs. In this arti...
Symbolic execution is a well established method for test input generation. Despite of having achieve...
Java programs are deployed in a bytecode format that is executed by a Java virtual machine (JVM). J...
Lazy Initialization (LI) allows symbolic execution to effectively deal with heap-allocated data stru...
Abstract. Symbolic execution is a flexible and powerful, but computa-tionally expensive technique to...
Abstract. We exhibit a grey area in the speci cation of Java and of its implementation through the J...
Program analysis has a long history in computer science. Even when only considering the important as...
Symbolic execution is a flexible and powerful, but computationally expensive technique to detect dyn...
Abstract: We present a resource-aware program logic for a JVM-like language and prove its soundness ...
Interpretation of Java bytecode results in slow execution of program.First version of Java Virtual M...
Recent advances in Virtual Machine\u2019s technology have led to the diffusion of Java execution env...
AbstractJava virtual machine (JVM) crashes are often due to an invalid memory reference to the JVM h...
The Java Virtual Machine (Standard Edition) normally interprets Java byte code but also compiles Jav...
IEEE Transactions on Parallel and Distributed Systems Volume 18 , Issue 1 (January 2007) Pages...