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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
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_7
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_9
Bendík, J., Benes, N., Cerná, I., Barnat, J.: Tunable online MUS/MSS enumeration. In: FSTTCS 2016, pp. 50:1–50:13 (2016)
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_11
Claessen, K., Sörensson, N.: A liveness checking algorithm that counts. In: FMCAD, pp. 52–59. IEEE (2012)
Een, N., et al.: Efficient implementation of property directed reachability. In FMCAD 2011 (2011)
Gacek, A., Backes, J., Whalen, M., Wagner, M., Ghassabani, E.: The Jkind model checker (2017). arXiv preprint arXiv:1712.01222
Ghassabani, E., et al.: Efficient generation of inductive validity cores for safety properties. In: FSE 2016 (2016)
Ghassabani, E., Gacek, A., Whalen, M.W.: Efficient generation of all minimal inductive validity cores. In: FMCAD 2017 (2017)
Ghassabani, E., Gacek, A., Whalen, M.W., Heimdahl, M., Lucas, W.: Proof-based coverage metrics for formal verification. In: ASE 2017 (2017)
Hagen, G., Tinelli, C.: Scaling up the formal verification of lustre programs with SMT-based techniques. In: FMCAD 2008 (2008)
Halbwachs, N., et al.: The synchronous dataflow programming language Lustre. In: Proceedings of the IEEE (1991)
Kupferman, O., Li, W., Seshia, S.: A theory of mutations with applications to vacuity, coverage, and fault tolerance. In: FMCAD 2008, p. 25 (2008)
Kupferman, O., Vardi, M.Y.: Vacuity detection in temporal model checking. STTT 4(2), 224–233 (2003)
Liffiton, M., et al.: Fast, flexible MUS enumeration. Constraints 21(2), 223–250 (2016)
Liffiton, M.H., Previti, A., Malik, A., Marques-Silva, J.: Fast, flexible MUS enumeration. Constraints 21(2), 223–250 (2016)
Mebsout, A., Tinelli, C.: Proof certificates for SMT-based model checkers for infinite-state systems. In: FMCAD 2016 (2016)
Miller, S.P., Whalen, M.W., Cofer, D.D.: Software model checking takes off. Commun. ACM 53(2), 58–64 (2010)
Murugesan, A., et al.: Compositional verification of a medical device system. In: HILT 2013 (2013)
Murugesan, A., et al.: Complete traceability for requirements in satisfaction arguments. In: RE 2016 (RE@Next! Track) (2016)
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_8
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_7
Whalen, M., Gay, G., You, D., Heimdahl, M., Staats, M.: Observable modified condition/decision coverage. In: ICSE 2013. ACM (2013)
You, D., Rayadurgam, S., Whalen, M., Heimdahl, M.: Efficient observability-based test generation by dynamic symbolic execution. In: ISSRE 2015 (2015)
Zhang, L., Malik, S.: Extracting small unsatisfiable cores from unsatisfiable boolean formula. In: SAT 2003 (2003)
Acknowledgements
This work has been partially supported by the Czech Science Foundation grant No. 18-02177S.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Bendík, J., Ghassabani, E., Whalen, M., Černá, I. (2018). Online Enumeration of All Minimal Inductive Validity Cores. In: Johnsen, E., Schaefer, I. (eds) Software Engineering and Formal Methods. SEFM 2018. Lecture Notes in Computer Science(), vol 10886. Springer, Cham. https://doi.org/10.1007/978-3-319-92970-5_12
Download citation
DOI: https://doi.org/10.1007/978-3-319-92970-5_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-92969-9
Online ISBN: 978-3-319-92970-5
eBook Packages: Computer ScienceComputer Science (R0)