A tale of two solvers: Eager and lazy approaches to bit-vectors

Hadarean, Liana, Bansal, Kshitij, Jovanović, Dejan, Barrett, Clark, & Tinelli, Cesare (2014) A tale of two solvers: Eager and lazy approaches to bit-vectors. Lecture Notes in Computer Science [Proceedings of the 26th Conference in Computer Aided Verification, CAV 2014], 8559, pp. 680-695.

[img]
Preview
Authors draft (PDF 549kB)
Accepted Version.

View at publisher

Abstract

The standard method for deciding bit-vector constraints is via eager reduction to propositional logic. This is usually done after first applying powerful rewrite techniques. While often efficient in practice, this method does not scale on problems for which top-level rewrites cannot reduce the problem size sufficiently. A lazy solver can target such problems by doing many satisfiability checks, each of which only reasons about a small subset of the problem. In addition, the lazy approach enables a wide range of optimization techniques that are not available to the eager approach. In this paper we describe the architecture and features of our lazy solver (LBV). We provide a comparative analysis of the eager and lazy approaches, and show how they are complementary in terms of the types of problems they can efficiently solve. For this reason, we propose a portfolio approach that runs a lazy and eager solver in parallel. Our empirical evaluation shows that the lazy solver can solve problems none of the eager solvers can and that the portfolio solver outperforms other solvers both in terms of total number of problems solved and the time taken to solve them.

Impact and interest:

0 citations in Scopus
Search Google Scholar™

Citation counts are sourced monthly from Scopus and Web of Science® citation databases.

These databases contain citations from different subsets of available publications and different time periods and thus the citation count from each is usually different. Some works are not in either database and no count is displayed. Scopus includes citations from articles published in 1996 onwards, and Web of Science® generally from 1980 onwards.

Citations counts from the Google Scholar™ indexing service can be viewed at the linked Google Scholar™ search.

Full-text downloads:

41 since deposited on 06 Apr 2015
14 in the past twelve months

Full-text downloads displays the total number of times this work’s files (e.g., a PDF) have been downloaded from QUT ePrints as well as the number of downloads in the previous 365 days. The count includes downloads for all files if a work has more than one.

ID Code: 83098
Item Type: Journal Article
Refereed: Yes
Additional Information: Computer Aided Verification: 26th International Conference, CAV 2014, Held as Part of the Vienna Summer of Logic, VSL 2014, Vienna, Austria, July 18-22, 2014. Proceedings. Online ISBN 978-3-319-08867-9
Keywords: Logics and Meanings of Programs, Software Engineering/Programming and Operating Systems
DOI: 10.1007/978-3-319-08867-9_45
ISSN: 0302-9743
Divisions: Current > Schools > School of Electrical Engineering & Computer Science
Current > QUT Faculties and Divisions > Science & Engineering Faculty
Copyright Owner: Copyright 2014 Springer International Publishing Switzerland
Copyright Statement: The final publication is available at Springer via http://dx.doi.org/10.1007/978-3-319-08867-9_45
Deposited On: 06 Apr 2015 23:36
Last Modified: 11 Apr 2015 02:25

Export: EndNote | Dublin Core | BibTeX

Repository Staff Only: item control page