A Bit-Vector Solver with Word-Level Propagation. Wang, W., Søndergaard, H., & Stuckey, P. J. In Integration of AI and OR Techniques in Constraint Programming: Proceedings of the 13th International Conference, volume 9676, of Lecture Notes in Computer Science, pages 374–391, 2016. Springer International Publishing.
doi  abstract   bibtex   
Reasoning with bit-vectors arises in a variety of applications in verification and cryptography. Michel and Van Hentenryck have proposed an interesting approach to bit-vector constraint propagation on the word level. Each of the operations except comparison are constant time, assuming the bit-vector fits in a machine word. In contrast, bit-vector SMT solvers usually solve bit-vector problems by bit-blasting, that is, mapping the resulting operations to conjunctive normal form clauses, and using SAT technology to solve them. This also means generating intermediate variables which can be an advantage, as these can be searched on and learnt about. Since each approach has advantages it is important to see whether we can benefit from these advantages by using a word-level propagation approach with learning. In this paper we describe an approach to bit-vector solving using word-level propagation with learning. We provide alternative word-level propagators to Michel and Van Hentenryck, and give the first empirical evaluation of their approach that we are aware of. We show that, with careful engineering, a word-level propagation based approach can compete with (or complement) bit-blasting.
@inproceedings{Wan-Son-Stu_CPAIOR16,
  author    = {Wenxi Wang and 
		Harald S{\o}ndergaard and 
		Peter J. Stuckey},
  title     = {A Bit-Vector Solver with Word-Level Propagation},
  editor    = {C.-G. Quimper},
  booktitle = {Integration of AI and OR Techniques in Constraint Programming:
                Proceedings of the 13th International Conference},
  series    = {Lecture Notes in Computer Science},
  volume    = {9676},
  pages     = {374--391},
  publisher = {Springer International Publishing},
  year      = {2016},
  isbn      = {978-3-319-33953-5},
  doi       = {10.1007/978-3-319-33954-2_27},
  abstract  = {Reasoning with bit-vectors arises in a variety of 
		applications in verification and cryptography. 
		Michel and Van Hentenryck have proposed an interesting 
		approach to bit-vector constraint propagation on the 
		word level. Each of the operations except comparison 
		are constant time, assuming the bit-vector fits in a 
		machine word. In contrast, bit-vector SMT solvers 
		usually solve bit-vector problems by bit-blasting, 
		that is, mapping the resulting operations to conjunctive 
		normal form clauses, and using SAT technology to solve 
		them. This also means generating intermediate variables 
		which can be an advantage, as these can be searched on 
		and learnt about. Since each approach has advantages 
		it is important to see whether we can benefit from 
		these advantages by using a word-level propagation 
		approach with learning. In this paper we describe an 
		approach to bit-vector solving using word-level 
		propagation with learning. We provide alternative 
		word-level propagators to Michel and Van Hentenryck, 
		and give the first empirical evaluation of their approach
		that we are aware of. We show that, with careful 
		engineering, a word-level propagation based approach 
		can compete with (or complement) bit-blasting.},
  keywords  = {SMT solving, Constraint propagation, Program verification},
}

Downloads: 0