Skip to content

Latest commit

 

History

History
59 lines (46 loc) · 7.73 KB

README.md

File metadata and controls

59 lines (46 loc) · 7.73 KB

Bugs found by Deopt

Detailed information of logic bugs

Corresponding commit version of Datalog engines for each bug:

# Datalog Engine commit version bug report link bug status
bug1 Souffle 3cd802d souffle-lang/souffle#2311 confirmed
bug2 Souffle 3cd802d souffle-lang/souffle#2375 unconfirmed
bug3 Souffle 29c5921 souffle-lang/souffle#2322 confirmed
bug4 Souffle 29c5921 souffle-lang/souffle#2323 unconfirmed
bug5 Souffle 29c5921 souffle-lang/souffle#2327 unconfirmed
bug6 Souffle 29c5921 souffle-lang/souffle#2337 unconfirmed
bug7 Souffle 29c5921 souffle-lang/souffle#2343 unconfirmed
bug8 Souffle 3cd802d souffle-lang/souffle#2385 unconfirmed
bug9 Souffle 29c5921 souffle-lang/souffle#2382 unconfirmed
bug10 μZ cbc5b1f Z3Prover/z3#6446 fixed
bug11 μZ cbc5b1f Z3Prover/z3#6447 confirmed
bug12 CozoDB release version 0.7.0 cozodb/cozo#101 fixed
bug13 CozoDB release version 0.7.0 cozodb/cozo#122 confirmed

The Dockerfile in the root directory of deopt will contains all source code of Souffle, Z3 (μZ), and DDlog. Build the docker image first.

For bugs of Souffle (bug1 - bug9), enter the root directory of Souffle (/tmp/souffle in docker) and check out to the corresponding commit version, compile Souffle with command shown in here, or follow the command shown in Dockerfile.

For bugs of μZ (bug10 and bug11), enter the root dictory of Z3 (/tmp/z3 in docker) and checkout to the corresponding commit version, compile z3 with command shown in here, or follow the command shown in Dockerfile.

For bugs of CozoDB, I use the python driver to run the program, which can be found at pycozo.

Logic bug reproduce

For bug1-6, 9-11, in each directory of these bugs, there is a bug-inducing test case named bug.dl, and corresponding reference programs prefn.dl and optimized programs poptn.dl, n indicates the iteration of test case generation. You can directly execute these files with souffle -D- file_name.dl for Souffle bugs (-D- means to print the output to the command line.) or z3 file_name.dl for μZ bugs. All of these bugs don't need additional execution options.

For bug7 and bug8, there is only bug.dl in their directory, as these two bugs were triggered by different execution options. Bug7 only occurred in synthesizer mode, which need -c in execution options. The execution will produce different result when remove -c option. Bug8 needs -t none --disable-transformers=ExpandEqrelsTransformer, and can produce different result when remove -t none.

We also provide the supplementary_material.pdf file in main directory to record the result of each step for reproduction.

Detailed information of other bugs

# Datalog Engine commit version bug report link bug status
bug1 Souffle 3cd802d souffle-lang/souffle#2318 unconfirmed
bug2 Souffle 3cd802d souffle-lang/souffle#2320 confirmed
bug3 Souffle 3cd802d souffle-lang/souffle#2321 confirmed
bug4 Souffle 3cd802d souffle-lang/souffle#2324 confirmed
bug5 Souffle 3cd802d souffle-lang/souffle#2326 confirmed
bug6 Souffle 29c5921 souffle-lang/souffle#2338 unconfirmed
bug7 Souffle 29c5921 souffle-lang/souffle#2339 unconfirmed
bug8 Souffle 29c5921 souffle-lang/souffle#2340 confirmed
bug9 Souffle 29c5921 souffle-lang/souffle#2346 fixed
bug10 Souffle 1fc233d souffle-lang/souffle#2351 fixed
bug11 Souffle 15b114a souffle-lang/souffle#2355 confirmed
bug12 Souffle b8b1d69 souffle-lang/souffle#2369 unconfirmed
bug13 Souffle 3cd802d souffle-lang/souffle#2379 confirmed
bug14 Souffle 0ad4109 souffle-lang/souffle#2426 confirmed
bug15 CozoDB release version 0.7.0 cozodb/cozo#97 fixed
bug16 CozoDB release version 0.7.0 cozodb/cozo#99 fixed
bug17 CozoDB release version 0.7.0 cozodb/cozo#113 confirmed