ABSTRACT This paper describes an analysis approach based on a combination of static and dynamic techniques to find run-time errors in Java code. It uses symbolic execution to find constraints under which an error (e.g., a null pointer dereference, array out of bounds access, or assertion violation) may occur and then solves these constraints to find test inputs that may expose the error. It only alerts the user to the possibility of a real error when it detects the expected exception during a program run. The analysis is customizable in two important ways. First, we can adjust how deeply to follow calls from each top-level method. Second, we can adjust the path termination condition for the symbolic execution engine to be either a bound on ...
We describe recent work on designing an environment called Java PathExplorer for monitoring the exec...
. The support for precise exceptions in Java, combined with frequent checks for runtime exceptions,...
Mainstream programming is migrating to concurrent archi-tectures to improve performance and facilita...
Most of the runtime failures of a software system can be revealed during test execution only, which ...
Static analysis tools cannot detect violations of application-specific rules. They can be extended w...
This paper describes the result of analyzing various errors possibly existing in programs in Java, i...
Program analysis has a long history in computer science. Even when only considering the important as...
In a software system, most of the runtime failures may come to light only during test execution, and...
Current JDK Java compiler relies on programmer's declarations (by throws clauses) for checking ...
In software testing, a program is executed in hopes of revealing faults. Over the years, specific te...
Symbolic execution is a flexible and powerful, but computationally expensive technique to detect dyn...
Multithreading (MT) has been extensively used for developing Graphical User Interface (GUI) and serv...
Abstract. Symbolic execution is a flexible and powerful, but computa-tionally expensive technique to...
Current JDK Java compiler relies on programmer’s declarations (bythrows clauses) for checking agains...
We describe recent work on designing an environment, called JavaPathExplorer, for monitoring the exe...
We describe recent work on designing an environment called Java PathExplorer for monitoring the exec...
. The support for precise exceptions in Java, combined with frequent checks for runtime exceptions,...
Mainstream programming is migrating to concurrent archi-tectures to improve performance and facilita...
Most of the runtime failures of a software system can be revealed during test execution only, which ...
Static analysis tools cannot detect violations of application-specific rules. They can be extended w...
This paper describes the result of analyzing various errors possibly existing in programs in Java, i...
Program analysis has a long history in computer science. Even when only considering the important as...
In a software system, most of the runtime failures may come to light only during test execution, and...
Current JDK Java compiler relies on programmer's declarations (by throws clauses) for checking ...
In software testing, a program is executed in hopes of revealing faults. Over the years, specific te...
Symbolic execution is a flexible and powerful, but computationally expensive technique to detect dyn...
Multithreading (MT) has been extensively used for developing Graphical User Interface (GUI) and serv...
Abstract. Symbolic execution is a flexible and powerful, but computa-tionally expensive technique to...
Current JDK Java compiler relies on programmer’s declarations (bythrows clauses) for checking agains...
We describe recent work on designing an environment, called JavaPathExplorer, for monitoring the exe...
We describe recent work on designing an environment called Java PathExplorer for monitoring the exec...
. The support for precise exceptions in Java, combined with frequent checks for runtime exceptions,...
Mainstream programming is migrating to concurrent archi-tectures to improve performance and facilita...