@inproceedings{0c569e0ba68d42ceb3d850b77c74ebda,
title = "Bit-Precise Reasoning via Int-Blasting",
abstract = "The state of the art for bit-precise reasoning in the context of Satisfiability Modulo Theories (SMT) is a SAT-based technique called bit-blasting where the input formula is first simplified and then translated to an equisatisfiable propositional formula. The main limitation of this technique is scalability, especially in the presence of large bit-widths and arithmetic operators. We introduce an alternative technique, which we call int-blasting, based on a translation to an extension of integer arithmetic rather than propositional logic. We present several translations, discuss their differences, and evaluate them on benchmarks that arise from the verification of rewrite rule candidates for bit-vector solving, as well as benchmarks from SMT-LIB. We also provide preliminary results on 35 benchmarks that arise from smart contract verification. The evaluation shows that this technique is particularly useful for benchmarks with large bit-widths and can solve benchmarks that the state of the art cannot.",
author = "Yoni Zohar and Ahmed Irfan and Makai Mann and Aina Niemetz and Andres N{\"o}tzli and Mathias Preiner and Andrew Reynolds and Clark Barrett and Cesare Tinelli",
note = "Publisher Copyright: {\textcopyright} 2022, Springer Nature Switzerland AG.; 23rd International Conference on Verification, Model Checking, and Abstract Interpretation, VMCAI 2022 ; Conference date: 16-01-2022 Through 18-01-2022",
year = "2022",
doi = "10.1007/978-3-030-94583-1_24",
language = "الإنجليزيّة",
isbn = "9783030945824",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Science and Business Media Deutschland GmbH",
pages = "496--518",
editor = "Bernd Finkbeiner and Thomas Wies",
booktitle = "Verification, Model Checking, and Abstract Interpretation - 23rd International Conference, VMCAI 2022, Proceedings",
address = "ألمانيا",
}