Skip to content
/ symbv Public

Validating changes using concolic execution

Notifications You must be signed in to change notification settings

sach1t/symbv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Symbv

Validating Code Changes Using Symbolic Execution

Notes

Report

Requirements

  • Java 8
  • Z3

Installation

  • ant clean
  • ant bootstrap
  • ant resolve
  • ant build

Usage

To run any of the examples (or another project on a separate directory in the examples directory) you could use the shell script provided:

# Apply patches and generate Symbv tests
./bin/symbv example_name gen

# Compile everything
ant build

# Concolic/Symbolic execution
./bin/symbv example_name symbv

The last command could be replaced by two other options (for prune optimization or full symbolic execution):

# Prune Optimization
./bin/symbv example_name prune

# Symbolic execution
./bin/symbv example_name symbolic

Development Info

Tasks

  • Run ant bootstrap - boostraps ivy install
  • Run ant resolve - downloads the dependencies and places them in the lib directory
  • Run ant build - builds the project
  • Run ant test - runs test cases

Adding Dependencies

  1. Add dependency to ivy.xml
  2. Run ant resolve
  3. Add new jars to .classpath under the 3rd party jars section (this could be useful: cd lib; for f in *.jar; do echo "<classpathentry kind=\"lib\" path=\"lib/$f\"/>"; done)

About

Validating changes using concolic execution

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published