Deep Symbolic Execution Agent (DEEPSEA) is a program analysis tool. It uses:
- Java Platform Debugger Architecture (JPDA)
- Java Debug Interface (JDI, part of JPDA)
- Apache Commons Byte Code Engineering Library (BCEL)
With these tools it monitors the execution of a Java program. As the program executes concretely, DEEPSEA collects information to describe the execution trace symbolically. At the end of the execution, the path is modified and the Green library is used to find a model for the modified path condition.
To install DEEPSEA, simply import the project in Eclipse.
You will have to make sure that the build path is set correctly. It must include:
/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/lib/tools.jar
You may have to tweak the location of the library.
Create a run configuration for DEEPSEA:
-
In the "Arguments" tab, set the "Working directory" (at the bottom of the panel) to "Other" and fill in
${workspace_loc:deepsea/bin}
To use DEEPSEA:
- Highlight a target program properties file (either in an editor window or in the Eclipse navigator).
- Launch the DEEPSEA run configuration.
The properties file may contain the following settings:
(String) Set to one of the standard Java logging levels or a number.
(Boolean) Whether to display the configuration properties in the log.
(String) Qualified name of the main class to load. (Must contain a Java main routine.)
(String) Arguments passed to target. The same arguments will be passed on every invocation.
(String) TBD
(Boolean) Whether the output of target program should be displayed or not.
- Something
- Something
- Someone
- Someone else