Solving Linear Arithmetic With Sat-Based Model Checking

PROCEEDINGS OF THE 17TH CONFERENCE ON FORMAL METHODS IN COMPUTER AIDED DESIGN (FMCAD 2017)(2017)

引用 9|浏览66
暂无评分
摘要
We present LIAMC, a novel decision procedure for (quantifier-free) linear arithmetic over both integers modulo 2(N) (LIA(N)) and integers (LIA).There is no need to explain our motivation to design a new efficient decision procedure for the widely used LIA logic. A LIA(N) decision procedure can be extremely useful in the context of software (SW) verification. SW verification usually requires to reason about arithmetic constraints over finite integers. To that end, modern SW verification tools commonly use fixed-width bit-vector (BV) solvers. However, BV solvers' efficiency drops dramatically as the width increases. To solve the performance problem, LIA solvers are applied, but they are imprecise as they cannot handle integer overflow. An efficient LIA(N) solver would be the ideal solution in this context.Our decision procedure LIAMC is based on a transformation of linear arithmetic into safety verification. We treat integers as unbounded streams of bits over time. More precisely, for each input integer, the least significant bit (LSB) corresponds to time 0 in the corresponding stream, and the k-th bit corresponds to the bit received at time k. LIAMC then uses SAT-based model checking (SATMC) to solve the resulting problem. In order to achieve efficiency, LIAMC uses two forms of generalization. First, if it finds a formula to be unsatisfiable for width N, it tries to generalize this result for all the widths. Second, if LIAMC finds a formula to be satisfiable for width N, it tries to "extend" and thus generalize the assignment to a wider target width.To evaluate LIAMC we used the QF_LIA subset of SMT-COMP'16, and ran two sets of experiments. First, we reinterpreted the QF_LIA over fixed-width bit-vectors of varying widths and compared LIAMC in LIA(N) mode to both Boolector and Z3. LIAMC solved the most satisfiable instances out of the three even for the shortest width 32. Second, we compared LIAMC to CVC4 and Z3 on the original QF_LIA benchmarks. LIAMC was able to solve many instances that had not been solved by the other solvers.
更多
查看译文
关键词
LIAn,QF-LIA subset,SAT-based model checking,SATMC,LIAMC,CVC4,SMT-COMP-16,least significant bit,LSB,fixed-width bit-vectors,LIA solvers,BV solvers,fixed-width bit-vector solvers,modern SW verification tools,finite integers,arithmetic constraints,software verification,efficient decision procedure,linear arithmetic
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要