CSIsat: A Tool for LA+EUF Interpolation

Ecole Polytechnique Fédérale de Lausanne (EPFL)
Simon Fraser University (SFU)


Objectives

The name CSIsat was chosen to reflect the architecture of the tool: Constraint-Solving based Interpolation combined with a SAT solving engine.

Authors/Maintainers: Dirk Beyer and Damien Zufferey

Download

Project page available at Google Code: http://csisat.googlecode.com/
(includes source-code repository and downloads).


Documentation


Acknowledgements

We thank the following people for their help:

Performance Comparison (as of January 2008)

So far there are two other publicly available interpolation tools (this reflects the situation in April 2008):
Program
FOCI
CLPprover
CSIsat
kbfiltr
0.44
2.55
0.25
floppy
1.74
10.91
1.16
diskperf
0.87
5.40
0.56
cdaudio
0.94
5.94
0.60
alias/swap.c
0.07
13.20
0.06

The experiments were performed on a GNU/Linux x86_64 machine with an Intel Core 2 Duo processor and 2 GB RAM, the processor was limited to 1 GHz to emphasize the difference. The table reports the run times of the three tools on interpolation queries that occur during verification processes of different programs. The first column identifies the programs that were verified (by BLAST). During a verification run, we dumped all interpolation queries to files. Then we ran the interpolation procedures once again only on the queries, and the time in the table is the sum of the run times over all queries that were dumped for the program. The first four programs are MS Windows device drivers, and the last one is from BLAST's regression test base (this program requires interpolants for formulas with disjunctions, because it uses pointer aliases).
Performance comparison with CLPprover
The figure shows a comparative presentation of the results from applying CLPprover and CSIsat to fragments of linear-arithmetic benchmarks from the SMT web site. The time is given in seconds on a logarithmic scale. The total sum of the run times for all examples is 75 min for CLPprover and 5.30 s for CSIsat. The timeout was set to 600 s for this set of experiments. The processor was running at 2.33 GHz.


Author: Dirk Beyer, other project pages: BLAST, CCVisu, Chic, CrocoPat, CSIsat, Rabbit

Last updated: $Date: 2008-12-19 01:06:31 $ by $Author: beyer $