Botsing

Logo

Crash reproduction made easy!

View the Project on GitHub STAMP-project/botsing

Reproducing a stack trace with Botsing

The latest version of Botsing command line (botsing-reproduction-X-X-X.jar) is available at https://github.com/STAMP-project/botsing/releases.

Botsing has three mandatory parameters:

By default, Botsing uses the following parameter values:

To check the list of options, use:

$ java -jar botsing-reproduction.jar -help
usage: java -jar botsing-reproduction.jar -crash_log stacktrace.log -target_frame 2

            -project_cp dep1.jar;dep2.jar  )
 -crash_log <arg>      File with the stack trace
 -D <property=value>   use value for given property
 -help                 Prints this help message.
 -project_cp <arg>      classpath of the project under test and all its
                       dependencies
 -target_frame <arg>   Level of the target frame

Example

java -jar botsing-reproduction.jar -crash_log LANG-1b.log -target_frame 2 -project_cp ~/bin

Multi-objectivization

To apply Multi-Objectivization search for crash reproduction, you need to set search_algorithm and fitness functions to NSGA_II and three objectives (LineCoverage, ExceptionType, and StackTraceSimilarity), respectively.

Example

To apply Botsing with Multi-Objectivization on the stack trace used in previous example, run the following command:

java -jar botsing-reproduction.jar -crash_log LANG-1b.log -target_frame 2 -project_cp ~/bin -search_algorithm NSGA_II -fitness LineCoverage:ExceptionType:StackTraceSimilarity

Maven plugin

See the documentation for the Maven plugin for more information.