Skip to content

Dspil/viper_manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Viper Manager

Viper Manager is a command-line tool for managing Viper files and benchmarking them (using Silicon). It supports benchmarking and mutation testing

Prerequisites

  • Tested with Java 17
  • sbt 1.6.2
  • Git (for fetching Silicon versions)

Usage

Run the tool via sbt:

sbt "run benchmark --silicon-commit HASH --warmup SECONDS --num-runs N [--mutate] [--randomize-seed] FILE [SILICON_ARGS...]"
sbt "run mutate [--num-mutants N] FILE"
sbt "run chop FILE"
sbt "run --help"

Alternatively create a fat jar with:

sbt assembly

You can run tests with:

sbt test

Commands

  • benchmark : Measure execution time of a Viper file. (Use –mutations to apply only selected mutations)
  • mutate : Generate mutants of a Viper file. Use –mutations to select specific mutations. (Only renaming and argument-reordering for now)
  • chop : Split a Viper file into individual files each containing an important member and save each as member_<i>_of_<original_name>.

Examples

sbt "run benchmark --silicon-commit master src/main.vpr"
sbt "run mutate --num-mutants 5 src/main.vpr"
sbt "run mutate --mutations renaming --num-mutants 5 src/main.vpr"
sbt "run chop src/main.vpr"

Future capabilities

  • Search command to find Viper files with specified characteristics.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages