Fast Three-Valued Abstract Bit-Vector Arithmetic
Fast Three-Valued Abstract Bit-Vector Arithmetic
复制标题
快速三值抽象位向量算法
DOI:
10.1007/978-3-030-94583-1_12
复制
发表时间:
2022
期刊:
影响因子:
5.6
通讯作者:
Stefan Ratschan
中科院分区:
文献类型:
--
作者:
Jan Onderka;Stefan Ratschan
Abstraction is one of the most important approaches for reducing the number of states in formal verification. An important abstraction technique is the usage of three-valued logic, extensible to bit-vectors. The best abstract bit-vector results for movement and logical operations can be computed quickly. However, for widely-used arithmetic operations, efficient algorithms for computation of the best possible output have not been known up to now.In this paper, we present new efficient polynomial-time algorithms for abstract addition and multiplication with three-valued bit-vector inputs. These algorithms produce the best possible three-valued bit-vector output and remain fast even with 32-bit inputs.To obtain the algorithms, we devise a novel modular extreme-finding technique via reformulation of the problem using pseudo-Boolean modular inequalities. Using the introduced technique, we construct an algorithm for abstract addition that computes its result in linear time, as well as a worst-case quadratic-time algorithm for abstract multiplication. Finally, we experimentally evaluate the performance of the algorithms, confirming their practical efficiency.