From 51d92e14aa20a85da739530aaa24ae7daaa6f8c2 Mon Sep 17 00:00:00 2001 From: Alkaid <zgf574564920@gmail.com> Date: Sun, 11 Apr 2021 13:05:45 -0400 Subject: [PATCH] Add LICENSE and tune artifact README.txt for artifact submission (to publisher). --- LICENSE.TXT => KLEE-LICENSE.txt | 0 LICENSE | 38 +++++++++++++++++++++++++++++++++ artifact/README.txt | 8 +++---- 3 files changed, 42 insertions(+), 4 deletions(-) rename LICENSE.TXT => KLEE-LICENSE.txt (100%) create mode 100644 LICENSE diff --git a/LICENSE.TXT b/KLEE-LICENSE.txt similarity index 100% rename from LICENSE.TXT rename to KLEE-LICENSE.txt diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..5a9ad393 --- /dev/null +++ b/LICENSE @@ -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 diff --git a/artifact/README.txt b/artifact/README.txt index 9086d1eb..774c9254 100644 --- a/artifact/README.txt +++ b/artifact/README.txt @@ -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. @@ -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 @@ -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