Published July 13, 2016 | Version 1.0
Dataset Open

Data Set for Article "Verification-Aided Debugging: An Interactive Web-Service for Exploring Error Witnesses", Proc. CAV'16

  • 1. LMU Munich, Germany

Description

This is the description of the supplementary archive of example interactive reports for the approach described in the article "Verification-Aided Debugging: An Interactive Web-Service for Exploring Error Witnesses", Proc. CAV'16.

This archive contains a static snapshot of our system that allows the reader to
a) experience the features of our web-service without relying on its online availability and
b) reproduce the bug reports displayed in this static snapshot by validating the provided witnesses against the source code and the corresponding specifications using CPAchecker.

The witness database is available at:
  static/index.html
The supplied verification tasks can be found at:
  static/programs/
The supplied error witnesses are grouped by their corresponding verification tasks and can be found at:
  static/witnesses/
The software verifier CPAchecker is placed at:
  CPAchecker/

To browse the witness database and explore the supplied error reports, we recommend using the Firefox web browser,
because not all features of our bug reports are guaranteed to be available in other browsers.

Like the supplementary archive originally provided to the reviewers, this witness database contains only a small selection of the witnesses harvested from the "Competition on Software Verification 2016", because we do not want to burden the reader with an enormous amount of data that likely is not relevant for understanding the concepts. Also, error witnesses produced by some competition candidates that were not even syntactically correct were removed, because they do not add any value to the evaluation. However, the full data is still available online via our web service, for example, the list of witnesses for a verification task can be requested by computing the SHA-1 hash of the verification task's source code and submitting the following query:
  http://vcloud.sosy-lab.org/webclient/master/witness?inputFile=<program-hash>
The resulting JSON data contains all hashes of witnesses stored for the given program.
A witness stored in the database can be requested via its SHA-1 hash by submitting the following query:
  https://vcloud.sosy-lab.org/webclient/files/<hash>
All verification tasks are available at the SV-COMP repository:
  https://github.com/dbeyer/sv-benchmarks
If you use verification tasks from the repository and are interested in validating witnesses produced for SV-COMP '16,
please use the 'svcomp16' tag, because the tasks and their hashes might have changed since then.

You can use CPAchecker to validate a witness for a verification task and generate an error report.
First, navigate to the CPAchecker directory:

  cd CPAchecker/

Now, perform the validation by providing the verification task (consisting of specification and program source code) and a witness:

  scripts/cpa.sh -generateReport -witness-validation \
    -spec <specification> \
    <source-code> \
    -spec <witness>

For example:

 scripts/cpa.sh -generateReport -witness-validation \
    -spec ../static/programs/loop-acceleration/ALL.prp \
    ../static/programs/loop-acceleration/array_false-unreach-call3.i \
    -spec ../static/witnesses/loop-acceleration/array_false-unreach-call3.i/a4572a0c1b505b1d1170b7347e48a2a93cb3f4c1

The report will be generated in the subdirectory
  output/report/

 

Files

Files (317.4 MB)

Name Size Download all
md5:f0fb8a0eb322a323c3da875be99c449d
317.4 MB Download