Abstract
Given a set of uninterpreted programs to be verified, the trace abstraction-based verification method can be used to solve them once at a time. The verification of different programs is independent of each other. However, the individual verification for each one is a waste of resources if the programs behave similarly. In this work, we propose a framework for the collaborative verification of a set of uninterpreted programs, which accumulates and reuses the abstract models of infeasible traces to improve the verification’s efficiency. We have implemented the collaborative verification framework and the preliminary result demonstrate that our collaborative method is effective on the benchmark.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Beyer, D., Holzer, A., Tautschnig, M., Veith, H.: Information reuse for multi-goal reachability analyses. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 472–491. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-37036-6_26
Beyer, D., Löwe, S., Novikov, E., Stahlbauer, A., Wendler, P.: Precision reuse for efficient regression verification. In: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, pp. 389–399 (2013)
Beyer, D., Wendler, P.: Reuse of verification results. In: Bartocci, E., Ramakrishnan, C.R. (eds.) SPIN 2013. LNCS, vol. 7976, pp. 1–17. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-39176-7_1
Christakis, M., Müller, P., Wüstholz, V.: Collaborative verification and testing with explicit assumptions. In: Giannakopoulou, D., Méry, D. (eds.) FM 2012. LNCS, vol. 7436, pp. 132–146. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32759-9_13
Csallner, C., Smaragdakis, Y.: Check ‘n’crash: combining static checking and testing. In: Proceedings of the 27th International Conference on Software Engineering, pp. 422–431 (2005)
He, F., Yu, Q., Cai, L.: Efficient summary reuse for software regression verification. IEEE Trans. Softw. Eng. (2020)
Heizmann, M., Hoenicke, J., Podelski, A.: Refinement of trace abstraction. In: Palsberg, J., Su, Z. (eds.) SAS 2009. LNCS, vol. 5673, pp. 69–85. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-03237-0_7
Hong, W., Chen, Z., Du, Y., Wang, J.: Trace abstraction-based verification for uninterpreted programs. In: Huisman, M., Păsăreanu, C., Zhan, N. (eds.) FM 2021. LNCS, vol. 13047, pp. 545–562. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-90870-6_29
La Torre, S., Parthasarathy, M.: Reachability in concurrent uninterpreted programs. In: 39th IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2019). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik (2019)
Lauterburg, S., Sobeih, A., Marinov, D., Viswanathan, M.: Incremental state-space exploration for programs with dynamically allocated data. In: 2008 ACM/IEEE 30th International Conference on Software Engineering, pp. 291–300. IEEE (2008)
Mathur, U., Madhusudan, P., Viswanathan, M.: Decidable verification of uninterpreted programs. Proc. ACM Program. Lang. 3(POPL), 1–29 (2019)
Mathur, U., Madhusudan, P., Viswanathan, M.: What’s decidable about program verification modulo axioms? In: TACAS 2020. LNCS, vol. 12079, pp. 158–177. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-45237-7_10
Mathur, U., Murali, A., Krogmeier, P., Madhusudan, P., Viswanathan, M.: Deciding memory safety for single-pass heap-manipulating programs. Proc. ACM Program. Lang. 4(POPL), 1–29 (2019)
Sery, O., Fedyukovich, G., Sharygina, N.: Incremental upgrade checking by means of interpolation-based function summaries. In: 2012 Formal Methods in Computer-Aided Design (FMCAD), pp. 114–121. IEEE (2012)
SV-benchmarks. https://github.com/sosy-lab/sv-benchmarks
Yu, Q., He, F., Wang, B.Y.: Incremental predicate analysis for regression verification. Proc. ACM Program. Lang. 4(OOPSLA), 1–25 (2020)
Acknowledgments
This research was supported by the NSFC Programs (No. 62172429 and 62032024).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
Cite this paper
Du, Y., Hong, W., Chen, Z., Wang, J. (2022). Collaborative Verification of Uninterpreted Programs. In: Aït-Ameur, Y., Crăciun, F. (eds) Theoretical Aspects of Software Engineering. TASE 2022. Lecture Notes in Computer Science, vol 13299. Springer, Cham. https://doi.org/10.1007/978-3-031-10363-6_10
Download citation
DOI: https://doi.org/10.1007/978-3-031-10363-6_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-10362-9
Online ISBN: 978-3-031-10363-6
eBook Packages: Computer ScienceComputer Science (R0)