SMTBCF: Efficient Backbone Computing for SMT Formulas

  • Yueling ZhangEmail author
  • Geguang PuEmail author
  • Min ZhangEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11852)


SMT (Satisfiable Module Theory) formulas have been widely used in practical applications. In some of the applications, including finding program bugs, plainly solving an SMT formula is sufficient. For other applications, besides solving the SMT formula, backbone variables of the SMT formulas are also needed in order to tackle the practical problems including finding invariant of certain properties in program analysis. This paper proposed a new approach SMTBCF to compute backbone variables for SMT formulas in order to accelerate the computing of backbone variables in SMT formulas and increase the efficiency of SMT formulas in practical applications. SMTBCF is the first algorithm that uses the backbone predicates to find part of the backbone variables in the SMT formulas. SMTBCF is also the first algorithm that uses the constants in the relating predicates of a backbone variable to quickly find the Unsatisfiable Evaluation of the backbone variable. In this way, SMTBCF is able to find backbone variables of SMT formulas, reduce the number of SMT solving in SMT backbone computing, and increase the efficiency of backbone variables in SMT formulas.


Backbone SMT Verification 



Yueling Zhang is partially supported by the NSFC Projects (Nos. 61572197 and 61632005). Geguang Pu was partially supported by NSFC grant (No. 61572197). Min Zhang is partially supported by the NSFC Project (No. 61672012).


  1. 1.
    Biere, A.: Bounded model checking. Adv. Comput. 58(11), 117–148 (2003)CrossRefGoogle Scholar
  2. 2.
    Bradley, A.R.: Understanding IC3. In: Cimatti, A., Sebastiani, R. (eds.) SAT 2012. LNCS, vol. 7317, pp. 1–14. Springer, Heidelberg (2012). Scholar
  3. 3.
    Selman, B.: Local search strategies for satisfiability testing. Cliques Color. Satisf. Second DIMACS Implement. Chall. 26, 521–532 (1993)Google Scholar
  4. 4.
    Zhang, W.: Backbone guided local search for maximum satisfiability. In: IJCAI 2013, pp: 1179–1186 (2003)Google Scholar
  5. 5.
    Zhang, W.: A novel local search algorithm for the traveling salesman problem that exploits backbones. In: IJCAI 2015, pp. 343–350 (2015)Google Scholar
  6. 6.
    Montanari, A.: Solving constraint satisfaction problems through belief propagation-guided decimation. arXiv preprint arXiv:0709.1667 (2007)
  7. 7.
    Zhu, C.S.: SAT-based techniques for determining backbones for post-silicon fault localization. In: IEEE International High Level Design Validation and Test Workshop (2011)Google Scholar
  8. 8.
    Zhu, C.S.: Post-silicon fault localization using maximum satisfiability and backbones. In: FMCAD 2011 (2011)Google Scholar
  9. 9.
    Velev, M.N.: Formal verification of VLIW microprocessors with speculative execution. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 296–311. Springer, Heidelberg (2000). Scholar
  10. 10.
    Berg, J.: Cost-optimal constrained correlation clustering via weighted partial Maximum Satisfiability. Artif. Intell. 244, 110–142 (2017) MathSciNetCrossRefGoogle Scholar
  11. 11.
    Culberson, J.: Frozen development in graph coloring. Theor. Comput. Sci. 265(1), 227–264 (2001)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Abdulla, P.A., et al.: Norn: an SMT solver for string constraints. In: Kroening, D., Păsăreanu, C.S. (eds.) CAV 2015. LNCS, vol. 9206, pp. 462–469. Springer, Cham (2015). Scholar
  13. 13.
    Barnett, M., Chang, B.-Y.E., DeLine, R., Jacobs, B., Leino, K.R.M.: Boogie: a modular reusable verifier for object-oriented programs. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2005. LNCS, vol. 4111, pp. 364–387. Springer, Heidelberg (2006). Scholar
  14. 14.
    Cadar, C.: KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs. In: OSDI, pp. 209–224 (2008)Google Scholar
  15. 15.
    Katz, G., Barrett, C., Dill, D.L., Julian, K., Kochenderfer, M.J.: Reluplex: an efficient SMT solver for verifying deep neural networks. In: Majumdar, R., Kunčak, V. (eds.) CAV 2017. LNCS, vol. 10426, pp. 97–117. Springer, Cham (2017). Scholar
  16. 16.
    Janota, M.: Algorithms for computing backbones of propositional formulae. AI Commun. 28(2), 161–177 (2015)MathSciNetzbMATHGoogle Scholar
  17. 17.
    Zhang, Y.: Optimizing backbone filtering. In: TASE 2017, pp. 1–8. IEEE (2017)Google Scholar
  18. 18.
    Previti, A.: On Computing Generalized Backbones. In: ICTAI 2017, pp. 1050–1056. IEEE (2017)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.East China Normal UniversityShanghaiChina

Personalised recommendations