CBMC is a Bounded Model Checker for ANSI-C and C++ programs. It also supports SystemC using Scoot. It allows verifying array bounds (buffer overflows), pointer safety, ex­cep­tions and user-specified as­ser­tions. Furthermore, it can check ANSI-C and C++ for consistency with other languages, such as Verilog. The verification is performed by unwinding the loops in the program and passing the re­sul­ting equation to a decision procedure. While CBMC is aimed for embedded software, it also supports dynamic memory allocation using malloc and new. For questions about CBMC, contact Daniel Kroening.

References in zbMATH (referenced in 77 articles )

Showing results 1 to 20 of 77.
Sorted by year (citations)

1 2 3 4 next

  1. Abate, Alessandro; Bessa, Iury; Cordeiro, Lucas; David, Cristina; Kesseli, Pascal; Kroening, Daniel; Polgreen, Elizabeth: Automated formal synthesis of provably safe digital controllers for continuous plants (2020)
  2. Semenov, Alexander; Otpuschennikov, Ilya; Gribanova, Irina; Zaikin, Oleg; Kochemazov, Stepan: Translation of algorithmic descriptions of discrete functions to SAT with applications to cryptanalysis problems (2020)
  3. Tellez, Gadi; Brotherston, James: Automatically verifying temporal properties of pointer programs with cyclic proof (2020)
  4. Wang, Meng; Tian, Cong; Zhang, Nan; Duan, Zhenhua; Yao, Chenguang: Translating Xd-C programs to MSVL programs (2020)
  5. Bouajjani, Ahmed; Enea, Constantin; Lahiri, Shuvendu K.: Abstract semantic diffing of evolving concurrent programs (2019)
  6. Beyer, Dirk; Dangl, Matthias; Wendler, Philipp: A unifying view on SMT-based software verification (2018)
  7. Beyer, Dirk; Gulwani, Sumit; Schmidt, David A.: Combining model checking and data-flow analysis (2018)
  8. Biere, Armin; Kröning, Daniel: SAT-based model checking (2018)
  9. Cao, Qinxiang; Beringer, Lennart; Gruetter, Samuel; Dodds, Josiah; Appel, Andrew W.: VST-Floyd: a separation logic tool to verify correctness of C programs (2018)
  10. Chaves, Lennon; Bessa, Iury; Cordeiro, Lucas; Kroening, Daniel: DSValidator: an automated counterexample reproducibility tool for digital systems (2018)
  11. Guthmuller, Marion; Corona, Gabriel; Quinson, Martin: System-level state equality detection for the formal dynamic verification of legacy distributed applications (2018)
  12. Kurshan, Robert P.: Transfer of model checking to industrial practice (2018)
  13. Lauko, Henrich; Ročkai, Petr; Barnat, Jiří: Symbolic computation via program transformation (2018)
  14. Yang, Kai; Duan, Zhenhua; Tian, Cong; Zhang, Nan: A compiler for MSVL and its applications (2018)
  15. Abal, Iago; Brabrand, Claus; Wąsowski, Andrzej: Effective bug finding in C programs with shape and effect abstractions (2017)
  16. Büscher, Niklas; Franz, Martin; Holzer, Andreas; Veith, Helmut; Katzenbeisser, Stefan: On compiling Boolean circuits optimized for secure multi-party computation (2017)
  17. Černý, Pavol; Clarke, Edmund M.; Henzinger, Thomas A.; Radhakrishna, Arjun; Ryzhyk, Leonid; Samanta, Roopsha; Tarrach, Thorsten: From non-preemptive to preemptive scheduling using synchronization synthesis (2017)
  18. Chakraborty, Supratik; Gupta, Ashutosh; Jain, Rahul: Matching multiplications in bit-vector formulas (2017)
  19. Chihani, Zakaria; Marre, Bruno; Bobot, François; Bardin, Sébastien: Sharpening constraint programming approaches for bit-vector theory (2017)
  20. Demyanova, Yulia; Pani, Thomas; Veith, Helmut; Zuleger, Florian: Empirical software metrics for benchmarking of verification tools (2017)

1 2 3 4 next