Skip to content
This repository has been archived by the owner on Apr 29, 2023. It is now read-only.

Can't reproduce experimental results with docker image #27

Open
joaofcmb opened this issue Jun 15, 2021 · 0 comments
Open

Can't reproduce experimental results with docker image #27

joaofcmb opened this issue Jun 15, 2021 · 0 comments

Comments

@joaofcmb
Copy link

I tried reproducing Angelix's experimental data locally using a docker image as described by the following Dockerfile:

FROM mechtaev/angelix:1.1
WORKDIR /src/

RUN apt-get install -y libffi-dev gtk-doc-tools libgtk2.0-dev libpcap-dev

COPY angelix-experiments/ .
RUN chmod +x ./repair ./repair-* ./fetch ./get-options

All experiments, other than heartbleed, could not be ran because the genprog benchmarks is unavailable. For example, running ./repair libtiff d13be72c-ccadf48a results in the following output:

--2021-06-15 11:00:44--  http://dijkstra.cs.virginia.edu/genprog/resources/genprog-icse2012-benchmarks/libtiff-bug-d13be72c-ccadf48a.tar.gz
Resolving dijkstra.cs.virginia.edu (dijkstra.cs.virginia.edu)... failed: Name or service not known.
wget: unable to resolve host address 'dijkstra.cs.virginia.edu'

As for heartbleed, running ./repair openssl 1.0.1-beta1 results in:

./repair-openssl: No such file or directory

Running ./repair-heartbleed `./get-options openssl 1.0.1-beta1` appears to do the trick, but Angelix is incapable of generating a fix. The contents of angelix.log are the following:

INFO     project         configuring validation source
INFO     project         building json compilation database from validation source
INFO     testing         running test '1' of validation source
INFO     testing         running test '4' of validation source
INFO     testing         running test '6' of validation source
INFO     testing         running test '7' of validation source
INFO     testing         running test '8' of validation source
INFO     project         configuring frontend source
INFO     transformation  instrumenting repairable of frontend source
INFO     project         building frontend source
INFO     repair          running positive tests for debugging
INFO     testing         running test '1' of frontend source
INFO     testing         running test '6' of frontend source
INFO     testing         running test '7' of frontend source
INFO     repair          running negative tests for debugging
INFO     testing         running test '4' of frontend source
INFO     testing         running test '8' of frontend source
INFO     repair          repair test suite: ['1', '4', '6', '7', '8']
INFO     repair          validation test suite: ['1', '4', '6', '7', '8']
INFO     localization    selected expressions [(2432, 8, 2432, 8)] with group score 0.5 
INFO     localization    selected expressions [(171, 15, 171, 26)] with group score 0.4 
INFO     localization    selected expressions [(2415, 7, 2415, 7)] with group score 0.4 
INFO     localization    selected expressions [(2417, 6, 2417, 9)] with group score 0.4 
INFO     localization    selected expressions [(2422, 6, 2422, 39)] with group score 0.4 
INFO     repair          considering suspicious expressions [(2432, 8, 2432, 8)]
INFO     reduction       selected 5 tests
INFO     reduction       selected passing tests: ['1', '6', '7']
INFO     reduction       selected failing tests: ['4', '8']
INFO     project         configuring backend source
INFO     transformation  instrumenting suspicious of backend source
INFO     project         building backend source
WARNING  project         compilation of .angelix/backend returned non-zero code
WARNING  project         failed to build .angelix/backend/apps/s_server.c
WARNING  project         failed to build .angelix/backend/apps/s_client.c
WARNING  project         failed to build .angelix/backend/apps/s_time.c
WARNING  project         failed to build .angelix/backend/apps/ocsp.c
WARNING  project         failed to build .angelix/backend/apps/openssl
INFO     inference       inferring specification for test '4'
INFO     testing         running test '4' of backend source with KLEE
INFO     inference       sleeping for 1 second...
WARNING  inference       No paths explored
INFO     repair          considering suspicious expressions [(171, 15, 171, 26)]
INFO     reduction       selected 5 tests
INFO     reduction       selected passing tests: ['1', '6', '7']
INFO     reduction       selected failing tests: ['4', '8']
INFO     project         configuring backend source
INFO     transformation  instrumenting suspicious of backend source
INFO     project         building backend source
WARNING  project         compilation of .angelix/backend returned non-zero code
WARNING  project         failed to build .angelix/backend/apps/s_server.c
WARNING  project         failed to build .angelix/backend/apps/s_client.c
WARNING  project         failed to build .angelix/backend/apps/s_time.c
WARNING  project         failed to build .angelix/backend/apps/ocsp.c
WARNING  project         failed to build .angelix/backend/apps/openssl
INFO     inference       inferring specification for test '4'
INFO     testing         running test '4' of backend source with KLEE
INFO     inference       sleeping for 1 second...
INFO     inference       solving path .angelix/backend/klee-out-0/test000003.smt2
WARNING  inference       choice instance 0 for variable actual_payload_len is missing
INFO     inference       solving path .angelix/backend/klee-out-0/test000001.smt2
WARNING  inference       choice instance 0 for variable actual_payload_len is missing
INFO     inference       solving path .angelix/backend/klee-out-0/test000002.smt2
WARNING  inference       choice instance 0 for variable actual_payload_len is missing
INFO     inference       found 0 angelic paths for test '4'
INFO     repair          considering suspicious expressions [(2415, 7, 2415, 7)]
INFO     reduction       selected 5 tests
INFO     reduction       selected passing tests: ['1', '6', '7']
INFO     reduction       selected failing tests: ['4', '8']
INFO     project         configuring backend source
INFO     transformation  instrumenting suspicious of backend source
INFO     project         building backend source
WARNING  project         compilation of .angelix/backend returned non-zero code
WARNING  project         failed to build .angelix/backend/apps/s_server.c
WARNING  project         failed to build .angelix/backend/apps/s_client.c
WARNING  project         failed to build .angelix/backend/apps/s_time.c
WARNING  project         failed to build .angelix/backend/apps/ocsp.c
WARNING  project         failed to build .angelix/backend/apps/openssl
INFO     inference       inferring specification for test '4'
INFO     testing         running test '4' of backend source with KLEE
INFO     inference       sleeping for 1 second...
WARNING  inference       No paths explored
INFO     repair          considering suspicious expressions [(2417, 6, 2417, 9)]
INFO     reduction       selected 5 tests
INFO     reduction       selected passing tests: ['1', '6', '7']
INFO     reduction       selected failing tests: ['4', '8']
INFO     project         configuring backend source
INFO     transformation  instrumenting suspicious of backend source
INFO     project         building backend source
WARNING  project         compilation of .angelix/backend returned non-zero code
WARNING  project         failed to build .angelix/backend/apps/s_server.c
WARNING  project         failed to build .angelix/backend/apps/s_client.c
WARNING  project         failed to build .angelix/backend/apps/s_time.c
WARNING  project         failed to build .angelix/backend/apps/ocsp.c
WARNING  project         failed to build .angelix/backend/apps/openssl
INFO     inference       inferring specification for test '4'
INFO     testing         running test '4' of backend source with KLEE
INFO     inference       sleeping for 1 second...
INFO     inference       solving path .angelix/backend/klee-out-0/test000002.smt2
INFO     inference       UNSAT
INFO     inference       found 0 angelic paths for test '4'
INFO     repair          considering suspicious expressions [(2422, 6, 2422, 39)]
INFO     reduction       selected 5 tests
INFO     reduction       selected passing tests: ['1', '6', '7']
INFO     reduction       selected failing tests: ['4', '8']
INFO     project         configuring backend source
INFO     transformation  instrumenting suspicious of backend source
INFO     project         building backend source
WARNING  project         compilation of .angelix/backend returned non-zero code
WARNING  project         failed to build .angelix/backend/apps/s_server.c
WARNING  project         failed to build .angelix/backend/apps/s_client.c
WARNING  project         failed to build .angelix/backend/apps/s_time.c
WARNING  project         failed to build .angelix/backend/apps/ocsp.c
WARNING  project         failed to build .angelix/backend/apps/openssl
INFO     inference       inferring specification for test '4'
INFO     testing         running test '4' of backend source with KLEE
INFO     inference       sleeping for 1 second...
INFO     inference       solving path .angelix/backend/klee-out-0/test000001.smt2
INFO     inference       expression (2422, 6, 2422, 39)[0]: angelic = False
INFO     testing         running test '4' of frontend source
INFO     inference       solving path .angelix/backend/klee-out-0/test000002.smt2
INFO     inference       UNSAT
INFO     inference       found 1 angelic paths for test '4'
INFO     inference       inferring specification for test '8'
INFO     testing         running test '8' of backend source with KLEE
INFO     inference       sleeping for 1 second...
INFO     inference       solving path .angelix/backend/klee-out-0/test000001.smt2
INFO     inference       expression (2422, 6, 2422, 39)[0]: angelic = False
INFO     testing         running test '8' of frontend source
INFO     inference       solving path .angelix/backend/klee-out-0/test000002.smt2
INFO     inference       UNSAT
INFO     inference       found 1 angelic paths for test '8'
INFO     inference       inferring specification for test '1'
INFO     testing         running test '1' of backend source with KLEE
INFO     inference       sleeping for 1 second...
INFO     inference       solving path .angelix/backend/klee-out-0/test000001.smt2
INFO     inference       UNSAT
INFO     inference       solving path .angelix/backend/klee-out-0/test000002.smt2
INFO     inference       expression (2422, 6, 2422, 39)[0]: angelic = True
INFO     testing         running test '1' of frontend source
INFO     inference       spurious angelic path
INFO     inference       found 0 angelic paths for test '1'
WARNING  repair          angelic forest for positive test 1 not found
INFO     inference       inferring specification for test '7'
INFO     testing         running test '7' of backend source with KLEE
INFO     inference       sleeping for 1 second...
INFO     inference       solving path .angelix/backend/klee-out-0/test000001.smt2
INFO     inference       expression (2422, 6, 2422, 39)[0]: angelic = False
INFO     testing         running test '7' of frontend source
INFO     inference       spurious angelic path
INFO     inference       solving path .angelix/backend/klee-out-0/test000002.smt2
INFO     inference       UNSAT
INFO     inference       found 0 angelic paths for test '7'
WARNING  repair          angelic forest for positive test 7 not found
INFO     synthesis       synthesizing patch with component level 'extended-arithmetic'
INFO     synthesis       fixing expression (2422, 6, 2422, 39): ((hbtype == 1) && (0 < 1)) ---> ((hbtype == 1) && (1025 < 1))
INFO     repair          candidate fix synthesized
INFO     transformation  applying patch to validation source
INFO     project         building validation source
INFO     testing         running test '1' of validation source
INFO     testing         running test '4' of validation source
INFO     testing         running test '6' of validation source
INFO     testing         running test '7' of validation source
INFO     testing         running test '8' of validation source
WARNING  repair          generated invalid fix (tests ['6'] not repaired)
INFO     repair          no patch generated in 3h 9m 9s
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant