Skip to main content
Top

2021 | OriginalPaper | Chapter

Verification by Gambling on Program Slices

Authors : Murad Akhundov, Federico Mora, Nick Feng, Vincent Hui, Marsha Chechik

Published in: Automated Technology for Verification and Analysis

Publisher: Springer International Publishing

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Automated software verification is a computationally hard problem that is often exasperated by irrelevant context. Existing verification engines address this problem with slicing techniques that are either too cautious, producing large verification condition queries, or too aggressive, sacrificing soundness. In this paper, we present a novel technique, called Qicc, that is aggressive, sound, and “a little risky.” Specifically, we use procedure extraction to generate a small set of verification queries that we check with existing verification engines. If any query in the set passes verification, then the original program will pass verification. However, there is no guarantee that such a query will exist, so Qicc may waste time searching. We study the effectiveness of Qicc when it is combined with two different verification engines, finding that Qicc’s extra cost is small while the rewards it brings to the analysis are significant. We evaluated Qicc on a case study—the verification of a cryptographic function in BusyBox—and found that Qicc succeeds when paired with two different verifiers, while both verifiers are unsuccessful on their own.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literature
3.
go back to reference Biere, A., Cimatti, A., Clarke, E.M., Strichman, O., Zhu, Y., et al.: Bounded Model Checking. Adv. Comput. 58(11), 117–148 (2003)CrossRef Biere, A., Cimatti, A., Clarke, E.M., Strichman, O., Zhu, Y., et al.: Bounded Model Checking. Adv. Comput. 58(11), 117–148 (2003)CrossRef
6.
go back to reference Clarke, E., Kroening, D., Sharygina, N., Yorav, K.: Predicate abstraction of ANSI-C programs using SAT. Formal Methods Syst. Des. 25(2–3), 105–127 (2004)CrossRef Clarke, E., Kroening, D., Sharygina, N., Yorav, K.: Predicate abstraction of ANSI-C programs using SAT. Formal Methods Syst. Des. 25(2–3), 105–127 (2004)CrossRef
7.
go back to reference Cook, B., et al.: Using model checking tools to triage the severity of security bugs in the Xen hypervisor. In: Proceedings of FMCAD 2020 (2020) Cook, B., et al.: Using model checking tools to triage the severity of security bugs in the Xen hypervisor. In: Proceedings of FMCAD 2020 (2020)
8.
go back to reference DeMillo, R.A., Pan, H., Spafford, E.H.: Critical slicing for software fault localization. ACM SIGSOFT Softw. Eng. Notes 21(3), 121–134 (1996)CrossRef DeMillo, R.A., Pan, H., Spafford, E.H.: Critical slicing for software fault localization. ACM SIGSOFT Softw. Eng. Notes 21(3), 121–134 (1996)CrossRef
10.
go back to reference Feng, N., Hui, V., Mora, F., Chechik, M.: Scaling client-specific equivalence checking via impact boundary search. In: Proceedings of ASE 2020. ACM (2020) Feng, N., Hui, V., Mora, F., Chechik, M.: Scaling client-specific equivalence checking via impact boundary search. In: Proceedings of ASE 2020. ACM (2020)
11.
go back to reference Gadelha, M.Y., Ismail, H.I., Cordeiro, L.C.: Handling loops in bounded model checking of C programs via k-induction. STTT 19(1), 97–114 (2017)CrossRef Gadelha, M.Y., Ismail, H.I., Cordeiro, L.C.: Handling loops in bounded model checking of C programs via k-induction. STTT 19(1), 97–114 (2017)CrossRef
16.
go back to reference Komondoor, R., Horwitz, S.: Semantics-preserving procedure extraction. In: Proceedings of POPL 2000, pp. 155–169 (2000) Komondoor, R., Horwitz, S.: Semantics-preserving procedure extraction. In: Proceedings of POPL 2000, pp. 155–169 (2000)
18.
go back to reference Lahiri, S.K., McMillan, K.L., Sharma, R., Hawblitzel, C.: Differential assertion checking. In: Proceedings of ESEC/FSE 2013, pp. 345–355. ACM (2013) Lahiri, S.K., McMillan, K.L., Sharma, R., Hawblitzel, C.: Differential assertion checking. In: Proceedings of ESEC/FSE 2013, pp. 345–355. ACM (2013)
19.
go back to reference Lai, A., Qadeer, S.: A program transformation for faster goal-directed search. In: Proceedings of FMCAD 2014, pp. 147–154. IEEE (2014) Lai, A., Qadeer, S.: A program transformation for faster goal-directed search. In: Proceedings of FMCAD 2014, pp. 147–154. IEEE (2014)
21.
go back to reference Prasad, M.R., Biere, A., Gupta, A.: A survey of recent advances in SAT-based formal verification. Int. J. Softw. Tools Technol. Transfer 7(2), 156–173 (2005)CrossRef Prasad, M.R., Biere, A., Gupta, A.: A survey of recent advances in SAT-based formal verification. Int. J. Softw. Tools Technol. Transfer 7(2), 156–173 (2005)CrossRef
23.
go back to reference Weiser, M.: Program slicing. In: Proceedings of ICSE 1981, pp. 439–449. IEEE Press (1981) Weiser, M.: Program slicing. In: Proceedings of ICSE 1981, pp. 439–449. IEEE Press (1981)
Metadata
Title
Verification by Gambling on Program Slices
Authors
Murad Akhundov
Federico Mora
Nick Feng
Vincent Hui
Marsha Chechik
Copyright Year
2021
DOI
https://doi.org/10.1007/978-3-030-88885-5_18

Premium Partner