Advertisement

Online Enumeration of All Minimal Inductive Validity Cores

  • Jaroslav BendíkEmail author
  • Elaheh Ghassabani
  • Michael Whalen
  • Ivana Černá
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10886)

Abstract

Symbolic model checkers can construct proofs of safety properties over complex models, but when a proof succeeds, the results do not generally provide much insight to the user. Minimal Inductive Validity Cores (MIVCs) trace a property to a minimal set of model elements necessary for constructing a proof, and can help to explain why a property is true of a model. In addition, the traceability information provided by MIVCs can be used to perform a variety of engineering analysis such as coverage analysis, robustness analysis, and vacuity detection. The more MIVCs are identified, the more precisely such analyses can be performed. Nevertheless, a full enumeration of all MIVCs is in general intractable due to the large number of possible model element sets. The bottleneck of existing algorithms is that they are not guaranteed to emit minimal IVCs until the end of the computation, so returned results are not known to be minimal until all solutions are produced.

In this paper, we propose an algorithm that identifies MIVCs in an online manner (i.e., one by one) and can be terminated at any time. We benchmark our new algorithm against existing algorithms on a variety of examples, and demonstrate that our algorithm not only is better in intractable cases but also completes the enumeration of MIVCs faster than competing algorithms in many tractable cases.

Keywords

Inductive validity cores SMT-based model checking Inductive proofs Traceability Proof cores 

Notes

Acknowledgements

This work has been partially supported by the Czech Science Foundation grant No. 18-02177S.

References

  1. 1.
    Backes, J., Cofer, D., Miller, S., Whalen, M.W.: Requirements analysis of a quad-redundant flight control system. In: Havelund, K., Holzmann, G., Joshi, R. (eds.) NFM 2015. LNCS, vol. 9058, pp. 82–96. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-17524-9_7CrossRefGoogle Scholar
  2. 2.
    Bendík, J., Beneš, N., Barnat, J., Černá, I.: Finding boundary elements in ordered sets with application to safety and requirements analysis. In: De Nicola, R., Kühn, E. (eds.) SEFM 2016. LNCS, vol. 9763, pp. 121–136. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-41591-8_9CrossRefzbMATHGoogle Scholar
  3. 3.
    Bendík, J., Benes, N., Cerná, I., Barnat, J.: Tunable online MUS/MSS enumeration. In: FSTTCS 2016, pp. 50:1–50:13 (2016)Google Scholar
  4. 4.
    Chockler, H., Kupferman, O., Vardi, M.Y.: Coverage metrics for formal verification. In: Geist, D., Tronci, E. (eds.) CHARME 2003. LNCS, vol. 2860, pp. 111–125. Springer, Heidelberg (2003).  https://doi.org/10.1007/978-3-540-39724-3_11CrossRefzbMATHGoogle Scholar
  5. 5.
    Claessen, K., Sörensson, N.: A liveness checking algorithm that counts. In: FMCAD, pp. 52–59. IEEE (2012)Google Scholar
  6. 6.
    Een, N., et al.: Efficient implementation of property directed reachability. In FMCAD 2011 (2011)Google Scholar
  7. 7.
    Gacek, A., Backes, J., Whalen, M., Wagner, M., Ghassabani, E.: The Jkind model checker (2017). arXiv preprint arXiv:1712.01222
  8. 8.
    Ghassabani, E., et al.: Efficient generation of inductive validity cores for safety properties. In: FSE 2016 (2016)Google Scholar
  9. 9.
    Ghassabani, E., Gacek, A., Whalen, M.W.: Efficient generation of all minimal inductive validity cores. In: FMCAD 2017 (2017)Google Scholar
  10. 10.
    Ghassabani, E., Gacek, A., Whalen, M.W., Heimdahl, M., Lucas, W.: Proof-based coverage metrics for formal verification. In: ASE 2017 (2017)Google Scholar
  11. 11.
    Hagen, G., Tinelli, C.: Scaling up the formal verification of lustre programs with SMT-based techniques. In: FMCAD 2008 (2008)Google Scholar
  12. 12.
    Halbwachs, N., et al.: The synchronous dataflow programming language Lustre. In: Proceedings of the IEEE (1991)Google Scholar
  13. 13.
    Kupferman, O., Li, W., Seshia, S.: A theory of mutations with applications to vacuity, coverage, and fault tolerance. In: FMCAD 2008, p. 25 (2008)Google Scholar
  14. 14.
    Kupferman, O., Vardi, M.Y.: Vacuity detection in temporal model checking. STTT 4(2), 224–233 (2003)CrossRefGoogle Scholar
  15. 15.
    Liffiton, M., et al.: Fast, flexible MUS enumeration. Constraints 21(2), 223–250 (2016)MathSciNetCrossRefGoogle Scholar
  16. 16.
    Liffiton, M.H., Previti, A., Malik, A., Marques-Silva, J.: Fast, flexible MUS enumeration. Constraints 21(2), 223–250 (2016)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Mebsout, A., Tinelli, C.: Proof certificates for SMT-based model checkers for infinite-state systems. In: FMCAD 2016 (2016)Google Scholar
  18. 18.
    Miller, S.P., Whalen, M.W., Cofer, D.D.: Software model checking takes off. Commun. ACM 53(2), 58–64 (2010)CrossRefGoogle Scholar
  19. 19.
    Murugesan, A., et al.: Compositional verification of a medical device system. In: HILT 2013 (2013)Google Scholar
  20. 20.
    Murugesan, A., et al.: Complete traceability for requirements in satisfaction arguments. In: RE 2016 (RE@Next! Track) (2016)Google Scholar
  21. 21.
    Sheeran, M., Singh, S., Stålmarck, G.: Checking safety properties using induction and a SAT-solver. In: Hunt, W.A., Johnson, S.D. (eds.) FMCAD 2000. LNCS, vol. 1954, pp. 127–144. Springer, Heidelberg (2000).  https://doi.org/10.1007/3-540-40922-X_8CrossRefGoogle Scholar
  22. 22.
    Whalen, M., Cofer, D., Miller, S., Krogh, B.H., Storm, W.: Integration of formal analysis into a model-based software development process. In: Leue, S., Merino, P. (eds.) FMICS 2007. LNCS, vol. 4916, pp. 68–84. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-79707-4_7CrossRefGoogle Scholar
  23. 23.
    Whalen, M., Gay, G., You, D., Heimdahl, M., Staats, M.: Observable modified condition/decision coverage. In: ICSE 2013. ACM (2013)Google Scholar
  24. 24.
    You, D., Rayadurgam, S., Whalen, M., Heimdahl, M.: Efficient observability-based test generation by dynamic symbolic execution. In: ISSRE 2015 (2015)Google Scholar
  25. 25.
    Zhang, L., Malik, S.: Extracting small unsatisfiable cores from unsatisfiable boolean formula. In: SAT 2003 (2003)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Jaroslav Bendík
    • 1
    Email author
  • Elaheh Ghassabani
    • 2
  • Michael Whalen
    • 2
  • Ivana Černá
    • 1
  1. 1.Faculty of InformaticsMasaryk UniversityBrnoCzech Republic
  2. 2.Department of Computer Science and EngineeringUniversity of MinnesotaMinneapolisUSA

Personalised recommendations