
Artifacts for the ICSE submission #20 Table of Contents Background Install Usage Reports Data Background HistFuzz utilizes historical data to test SMT solvers. You can use it to collect the bug-triggering formulas from Z3 and cvc5's bug tracking systems. You can also use HistFuzz to perform differential testing on the SMT solvers. See below for more details on the usage. Install This project uses efficient-apriori, antlr4, and github3. Go check them out if you don't have them locally installed. pip3 install efficient-apriori pip3 install antlr4-python3-runtime==4.9.2 pip3 install github3.py Besides, if you want to test the solvers, you need to download and build them first. You can download Z3 and cvc5 in Z3Prover/z3: The Z3 Theorem Prover (github.com) and cvc5/cvc5: cvc5 is an open-source automatic theorem prover for Satisfiability Modulo Theories (SMT) problems. (github.com). Please follow their instructions for installation. Usage You can use HistFuzz to update the historical data in the bug tracking systems of Z3 and cvc5 with your GitHub personal access token: bin/HistFuzz --update --token=[TOKEN] GitHub personal access token can be generated in Personal Access Tokens (github.com). Since we have already initialized it, you can use it directly without updating to test the solvers, for example: bin/HistFuzz --solver1=z3 --solverbin1=/home/z3/build/z3 --solver2=cvc5 --solverbin2=/home/cvc5/build/bin/cvc5 Since our tool is very easy to deploy, you can try to use it to find new bugs in solvers. If you want to reproduce some bugs over the previous versions, you should use git checkout to transform the solvers to release versions or specific commits, which can be obtained from the corresponding bug reports. Bug reports (updating) z3 https://github.com/Z3Prover/z3/issues/5722#issuecomment-998452982 (fixed) https://github.com/Z3Prover/z3/issues/5737 (moved to https://github.com/Z3Prover/z3/issues/4889#issuecomment-1004329224) (confirmed) https://github.com/Z3Prover/z3/issues/5753#issuecomment-1007087883 (duplicate) https://github.com/Z3Prover/z3/issues/5753#issuecomment-1008214504 (invalid) https://github.com/Z3Prover/z3/issues/5774 (invalid) https://github.com/Z3Prover/z3/issues/5777#issuecomment-1014065487 (fixed) https://github.com/Z3Prover/z3/issues/5722#issue-1084089459 (fixed) https://github.com/Z3Prover/z3/issues/5798 (reported) https://github.com/Z3Prover/z3/issues/5769 (confirmed) https://github.com/Z3Prover/z3/issues/5769#issuecomment-1015129354 (reported) https://github.com/Z3Prover/z3/issues/5778#issuecomment-1018132484 (fixed) https://github.com/Z3Prover/z3/issues/5789 (fixed) https://github.com/Z3Prover/z3/issues/5806 (reported) https://github.com/Z3Prover/z3/issues/5722#issuecomment-998652655 (invalid) https://github.com/Z3Prover/z3/issues/5732 (fixed) https://github.com/Z3Prover/z3/issues/5734 (moved to https://github.com/Z3Prover/z3/issues/5641#issuecomment-1000497502) (fixed) https://github.com/Z3Prover/z3/issues/5641#issuecomment-1000804719 (moved to https://github.com/Z3Prover/z3/issues/4889#issuecomment-1004328993) (confirmed) https://github.com/Z3Prover/z3/issues/5741 (fixed) https://github.com/Z3Prover/z3/issues/5753#issuecomment-1007067681 (duplicate) https://github.com/Z3Prover/z3/issues/5754 (duplicate) https://github.com/Z3Prover/z3/issues/5758 (fixed) https://github.com/Z3Prover/z3/issues/5753#issuecomment-1007982562 (fixed) https://github.com/Z3Prover/z3/issues/5770 (invalid) https://github.com/Z3Prover/z3/issues/5753#issuecomment-1011732992 (fixed) https://github.com/Z3Prover/z3/issues/5753#issuecomment-1011749964 (fixed) https://github.com/Z3Prover/z3/issues/5753#issuecomment-1011755733 (fixed) https://github.com/Z3Prover/z3/issues/5753#issuecomment-1012024921 (fixed) https://github.com/Z3Prover/z3/issues/5779 (invalid) https://github.com/Z3Prover/z3/issues/5778#issuecomment-1016018402 (fixed) https://github.com/Z3Prover/z3/issues/5784 (fixed) https://github.com/Z3Prover/z3/issues/5804 (fixed) cvc5 https://github.com/cvc5/cvc5/issues/7924 (fixed) https://github.com/cvc5/cvc5/issues/7938 (confirmed) https://github.com/cvc5/cvc5/issues/8016 (fixed) https://github.com/cvc5/cvc5/issues/7858 (duplicate) https://github.com/cvc5/cvc5/issues/7858#issuecomment-1000794259 (duplicate) https://github.com/cvc5/cvc5/issues/7893 (confirmed) https://github.com/cvc5/cvc5/issues/7894 (fixed) https://github.com/cvc5/cvc5/issues/7902 (fixed) https://github.com/cvc5/cvc5/issues/7917 (fixed) https://github.com/cvc5/cvc5/issues/7918 (fixed) https://github.com/cvc5/cvc5/issues/7919 (duplicate) https://github.com/cvc5/cvc5/issues/7937 (fixed) https://github.com/cvc5/cvc5/issues/7974 (fixed) https://github.com/cvc5/cvc5/issues/8001 (fixed) https://github.com/cvc5/cvc5/issues/8052 (fixed) https://github.com/cvc5/cvc5/issues/8067 (fixed) https://github.com/cvc5/cvc5/issues/8094 (fixed) https://github.com/cvc5/cvc5/issues/8111 (fixed) https://github.com/cvc5/cvc5/issues/8096#issuecomment-1043800815 (fixed) https://github.com/cvc5/cvc5/issues/8119 (fixed) https://github.com/cvc5/cvc5/issues/8119#issuecomment-1045646303 (fixed) https://github.com/cvc5/cvc5/issues/8124 (fixed) https://github.com/cvc5/cvc5/issues/8133 (confirmed) https://github.com/cvc5/cvc5/issues/8118 (fixed) https://github.com/cvc5/cvc5/issues/8147 (fixed) https://github.com/cvc5/cvc5/issues/8148#issuecomment-1049758826 (fixed) https://github.com/cvc5/cvc5/issues/8162 (fixed) https://github.com/cvc5/cvc5/issues/8163 (fixed) https://github.com/cvc5/cvc5/issues/8158 (reported) https://github.com/cvc5/cvc5/issues/8160 (fixed) Data We also attach the code coverage data we obtained in our experiments to the zip file. You can review them in ./data. Note that, once the paper is accepted, we will open source HistFuzz as well as the complete experimental data.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
