Skip to content

Commit

Permalink
Add LICENSE and tune artifact README.txt for artifact submission (to …
Browse files Browse the repository at this point in the history
…publisher).
  • Loading branch information
Alkaid-Benetnash committed Apr 17, 2021
1 parent b3a0333 commit 51d92e1
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 4 deletions.
File renamed without changes.
38 changes: 38 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
MIT License

Copyright (c) 2021 Gefei Zuo, efeslab, University of Michigan

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

==============================================================================

Execution Reconstruction is built upon KLEE, adapts Cloud 9 Parallel Symbolic
Execution Engine and uses third party software (e.g. stp, z3, klee-uclibc,
etc.)
They have additional or alternative copyrights, licenses, and/or retrictions:

Program License
------- -------
KLEE KLEE-LICENSE.txt
Cloud9 CLOUD9-LICENSE
klee-uclibc third-party/klee-uclibc/COPYING.LIB
stp third-party/stp/{LICENSE, LICENSE_COMPONENTS}
z3 third-party/z3/LICENSE.txt
minisat third-party/minisat/LICENSE
cryptominisat third-party/cryptominisat/LICENSE.txt
8 changes: 4 additions & 4 deletions artifact/README.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
* Artifact for submission "Reproducing Production Failures with Execution Reconstruction"
* Artifact for submission "Execution Reconstruction: Harnessing Failure Reoccurrences for Failure Reproduction"

Thank you for evaluating the software artifact of ER. This artifact is designed for the ACM Artifacts Available and Functional Badge.

Expand All @@ -10,10 +10,10 @@ Throughout this README, all commands should be executed in a terminal will be en

** Setup

First, please download our artifact package paper618.tar.gz using the link provided on HotCrp and load it into docker.
First, the docker image "er-docker.tar.gz" should be available in the same directory of this README.txt, Please load it into docker.
E.g. on linux, run
```bash
gzip -c -d paper618.tar.gz | docker load
gzip -c -d er-docker.tar.gz | docker load
```
Alternatively, if permitted to use external files from dockerhub, you can also simply pull our artifact image:
```bash
Expand Down Expand Up @@ -216,7 +216,7 @@ This is exactly what `/ER/third-party/bugbasev2/utils/run-er.sh` does.
* List of claims from the paper supported by this artifact

1. At the end of Introduction: Shepherded Symbolic Execution plus Key Data Value Selection can overcome solver bottlenecks.
Supported by ER can reproduce the failure with control-flow and selected data value. However, simply running KLEE, even with full control-flow trace but without data values, cannot reproduce the same failure.
ER can reproduce the failure with control-flow and selected data value. However, simply running KLEE, even with full control-flow trace but without data values, cannot reproduce the same failure.
To compare ER with KLEE+control-flow trace, you need to disable the solver timeout detection so that you can symbolically replay the first iteration (which does not record data values) as long as possible.
```bash
make replay.1.klee-out ENABLETIMEOUT=0
Expand Down

0 comments on commit 51d92e1

Please sign in to comment.