{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,4]],"date-time":"2025-11-04T16:19:54Z","timestamp":1762273194501,"version":"3.40.3"},"publisher-location":"Cham","reference-count":45,"publisher":"Springer Nature Switzerland","isbn-type":[{"type":"print","value":"9783031493416"},{"type":"electronic","value":"9783031493423"}],"license":[{"start":{"date-parts":[[2023,12,2]],"date-time":"2023-12-02T00:00:00Z","timestamp":1701475200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2023,12,2]],"date-time":"2023-12-02T00:00:00Z","timestamp":1701475200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2024]]},"DOI":"10.1007\/978-3-031-49342-3_9","type":"book-chapter","created":{"date-parts":[[2023,12,1]],"date-time":"2023-12-01T09:02:27Z","timestamp":1701421347000},"page":"141-152","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["ESBMC v7.3: Model Checking C++ Programs Using Clang AST"],"prefix":"10.1007","author":[{"given":"Kunjian","family":"Song","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mikhail R.","family":"Gadelha","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Franz","family":"Brau\u00dfe","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rafael S.","family":"Menezes","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Lucas C.","family":"Cordeiro","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2023,12,2]]},"reference":[{"key":"9_CR1","unstructured":"Deitel, P.J., Deitel, H.M.: C++ How to Program: Introducing the New C++14 Standard. Prentice Hall (2016)"},{"key":"9_CR2","doi-asserted-by":"publisher","unstructured":"Cordeiro, L.C., de Lima Filho, E.B., de Bessa, I.V.: Survey on automated symbolic verification and its application for synthesising cyber-physical systems. IET Cyper-Phys. Syst. Theory Appl. 5(1), 1\u201324 (2020). https:\/\/doi.org\/10.1049\/iet-cps.2018.5006","DOI":"10.1049\/iet-cps.2018.5006"},{"key":"9_CR3","unstructured":"Miller, M.: Trends and challenges in the vulnerability mitigation landscape. USENIX Association (2019)"},{"key":"9_CR4","doi-asserted-by":"crossref","unstructured":"Fan, J., Li, Y., Wang, S., Nguyen, T.N.: A C\/C++ code vulnerability dataset with code changes and CVE summaries. In: Proceedings of the 17th International Conference on Mining Software Repositories, pp. 508\u2013512 (2020)","DOI":"10.1145\/3379597.3387501"},{"key":"9_CR5","unstructured":"Common Vulnerabilities and Exposures database. https:\/\/cve.mitre.org\/"},{"key":"9_CR6","unstructured":"Common Weakness Enumeration. https:\/\/cwe.mitre.org\/about\/index.html"},{"issue":"9","key":"9_CR7","first-page":"1","volume":"6","author":"S Quadri","year":"2010","unstructured":"Quadri, S., Farooq, S.U.: Software testing-goals, principles and limitations. Int. J. Comput. Appl. 6(9), 1 (2010)","journal-title":"Int. J. Comput. Appl."},{"key":"9_CR8","doi-asserted-by":"publisher","DOI":"10.1017\/9781316771273","volume-title":"Introduction to Software Testing","author":"P Ammann","year":"2016","unstructured":"Ammann, P., Offutt, J.: Introduction to Software Testing. Cambridge University Press, Cambridge (2016)"},{"key":"9_CR9","doi-asserted-by":"publisher","unstructured":"Monteiro, F.R., Garcia, M., Cordeiro, L.C., de Lima Filho, E.B.: Bounded model checking of C++ programs based on the Qt cross-platform framework. Softw. Test. Verification Reliab. 27(3), e1632 (2017). https:\/\/doi.org\/10.1002\/stvr.1632","DOI":"10.1002\/stvr.1632"},{"key":"9_CR10","doi-asserted-by":"crossref","unstructured":"Chong, N., et al.: Code-level model checking in the software development workflow. In: 2020 IEEE\/ACM 42nd International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), pp. 11\u201320. IEEE (2020)","DOI":"10.1145\/3377813.3381347"},{"issue":"1","key":"9_CR11","doi-asserted-by":"publisher","DOI":"10.1002\/stvr.1793","volume":"32","author":"FR Monteiro","year":"2022","unstructured":"Monteiro, F.R., Gadelha, M.R., Cordeiro, L.C.: Model checking C++ programs. Softw. Test. Verification Reliab. 32(1), e1793 (2022)","journal-title":"Softw. Test. Verification Reliab."},{"key":"9_CR12","doi-asserted-by":"crossref","unstructured":"Ramalho, M., Freitas, M., Sousa, F., Marques, H., Cordeiro, L., Fischer, B.: SMT-based bounded model checking of C++ programs. In: 2013 20th IEEE International Conference and Workshops on Engineering of Computer Based Systems (ECBS), pp. 147\u2013156. IEEE (2013)","DOI":"10.1109\/ECBS.2013.15"},{"key":"9_CR13","unstructured":"LLVM clang. https:\/\/clang.llvm.org\/"},{"key":"9_CR14","unstructured":"Lopes, B.C., Auler, R.: Getting Started with LLVM Core Libraries. Packt Publishing Ltd. (2014)"},{"key":"9_CR15","unstructured":"Pandey, M., Sarda, S.: LLVM Cookbook. Packt Publishing Ltd. (2015)"},{"key":"9_CR16","doi-asserted-by":"publisher","unstructured":"Pereira, P.A., et al.: SMT-based context-bounded model checking for CUDA programs. Concurr. Comput. Pract. Exp. 29(22), e3934 (2017). https:\/\/doi.org\/10.1002\/cpe.3934","DOI":"10.1002\/cpe.3934"},{"key":"9_CR17","unstructured":"Dos Reis, G., Garc\u00eda, J.D., Logozzo, F., F\u00e4hndrich, M., Lahiri, S.: Simple contracts for C++(R1) (2015)"},{"key":"9_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"168","DOI":"10.1007\/978-3-540-24730-2_15","volume-title":"Tools and Algorithms for the Construction and Analysis of Systems","author":"E Clarke","year":"2004","unstructured":"Clarke, E., Kroening, D., Lerda, F.: A tool for checking ANSI-C programs. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 168\u2013176. Springer, Heidelberg (2004). https:\/\/doi.org\/10.1007\/978-3-540-24730-2_15"},{"key":"9_CR19","unstructured":"ESBMC L312\u2013L359. https:\/\/github.com\/esbmc\/esbmc\/blob\/master\/src\/cpp\/cpp_typecheck_compound_type.cpp"},{"key":"9_CR20","unstructured":"C++03 standard. https:\/\/www.iso.org\/standard\/38110.html"},{"issue":"4","key":"9_CR21","doi-asserted-by":"publisher","first-page":"957","DOI":"10.1109\/TSE.2011.59","volume":"38","author":"L Cordeiro","year":"2011","unstructured":"Cordeiro, L., Fischer, B., Marques-Silva, J.: SMT-based bounded model checking for embedded ANSI-C software. IEEE Trans. Softw. Eng. 38(4), 957\u2013974 (2011)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"9_CR22","doi-asserted-by":"publisher","unstructured":"Cordeiro, L.C., Fischer, B.: Verifying multi-threaded software using SMT-based context-bounded model checking. In: Taylor, R.N., Gall, H.C., Medvidovic, N. (eds.) Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, Waikiki, Honolulu, HI, USA, 21\u201328 May 2011, pp. 331\u2013340. ACM (2011). https:\/\/doi.org\/10.1145\/1985793.1985839","DOI":"10.1145\/1985793.1985839"},{"key":"9_CR23","unstructured":"Prata, S.: C++ Primer Plus. Pearson Education India (2012)"},{"key":"9_CR24","unstructured":"Stroustrup, B.: The C++ Programming Language, 4th edn (2013)"},{"key":"9_CR25","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"304","DOI":"10.1007\/11785477_19","volume-title":"ECOOP 2006 \u2013 Object-Oriented Programming","author":"J Siek","year":"2006","unstructured":"Siek, J., Taha, W.: A semantic analysis of C++ templates. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 304\u2013327. Springer, Heidelberg (2006). https:\/\/doi.org\/10.1007\/11785477_19"},{"key":"9_CR26","unstructured":"GCC test suite. https:\/\/gcc.gnu.org\/git\/?p=gcc.git;a=blob_plain;f=gcc\/testsuite\/g%2B%2B.dg\/template\/friend18.C;hb=649fc72d2"},{"key":"9_CR27","unstructured":"GCC bugzilla bug 10158. https:\/\/gcc.gnu.org\/bugzilla\/show_bug.cgi?id=10158"},{"key":"9_CR28","unstructured":"CBMC 5.88.1. https:\/\/github.com\/diffblue\/cbmc\/releases\/tag\/cbmc-5.88.1"},{"key":"9_CR29","unstructured":"cppcheck. https:\/\/cppcheck.sourceforge.io\/"},{"key":"9_CR30","unstructured":"Deitel, P.: C++ How To Program, 6th edn. Prentice Hall Press (2007)"},{"key":"9_CR31","unstructured":"CBMC regression test suite. https:\/\/github.com\/diffblue\/cbmc\/tree\/develop\/regression\/cbmc-cpp"},{"key":"9_CR32","unstructured":"Python unittest. https:\/\/docs.python.org\/3\/library\/unittest.html"},{"key":"9_CR33","unstructured":"ESBMC v7.3 evaluation archive on Zenodo. https:\/\/zenodo.org\/record\/8233714"},{"key":"9_CR34","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"337","DOI":"10.1007\/978-3-540-78800-3_24","volume-title":"Tools and Algorithms for the Construction and Analysis of Systems","author":"L de Moura","year":"2008","unstructured":"de Moura, L., Bj\u00f8rner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337\u2013340. Springer, Heidelberg (2008). https:\/\/doi.org\/10.1007\/978-3-540-78800-3_24"},{"key":"9_CR35","doi-asserted-by":"publisher","first-page":"3","DOI":"10.1007\/978-3-031-37703-7_1","volume-title":"Computer Aided Verification","author":"A Niemetz","year":"2023","unstructured":"Niemetz, A., Preiner, M.: Bitwuzla. In: Enea, C., Lal, A. (eds.) CAV 2023, Part II. LNCS, vol. 13965, pp. 3\u201317. Springer, Cham (2023). https:\/\/doi.org\/10.1007\/978-3-031-37703-7_1"},{"key":"9_CR36","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"174","DOI":"10.1007\/978-3-642-00768-2_16","volume-title":"Tools and Algorithms for the Construction and Analysis of Systems","author":"R Brummayer","year":"2009","unstructured":"Brummayer, R., Biere, A.: Boolector: an efficient SMT solver for bit-vectors and arrays. In: Kowalewski, S., Philippou, A. (eds.) TACAS 2009. LNCS, vol. 5505, pp. 174\u2013177. Springer, Heidelberg (2009). https:\/\/doi.org\/10.1007\/978-3-642-00768-2_16"},{"key":"9_CR37","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"299","DOI":"10.1007\/978-3-540-70545-1_28","volume-title":"Computer Aided Verification","author":"R Bruttomesso","year":"2008","unstructured":"Bruttomesso, R., Cimatti, A., Franz\u00e9n, A., Griggio, A., Sebastiani, R.: The MathSAT\u00a04 SMT solver. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 299\u2013303. Springer, Heidelberg (2008). https:\/\/doi.org\/10.1007\/978-3-540-70545-1_28"},{"key":"9_CR38","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"171","DOI":"10.1007\/978-3-642-22110-1_14","volume-title":"Computer Aided Verification","author":"C Barrett","year":"2011","unstructured":"Barrett, C., et al.: CVC4. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 171\u2013177. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-22110-1_14"},{"key":"9_CR39","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"737","DOI":"10.1007\/978-3-319-08867-9_49","volume-title":"Computer Aided Verification","author":"B Dutertre","year":"2014","unstructured":"Dutertre, B.: Yices\u00a02.2. In: Biere, A., Bloem, R. (eds.) CAV 2014. LNCS, vol. 8559, pp. 737\u2013744. Springer, Cham (2014). https:\/\/doi.org\/10.1007\/978-3-319-08867-9_49"},{"key":"9_CR40","unstructured":"ESBMC CPP support feature coverage and backlog. https:\/\/github.com\/esbmc\/esbmc\/wiki\/ESBMC-Cpp-Support"},{"key":"9_CR41","unstructured":"Github: ESBMC issue 940: Umbrella issue for the order of ctors\/dtors. https:\/\/github.com\/esbmc\/esbmc\/issues\/940"},{"key":"9_CR42","doi-asserted-by":"crossref","unstructured":"Song, K., Gadelha, M.R., Brau\u00dfe, F., Menezes, R.S., Cordeiro, L.C.: ESBMC v7.3: model checking C++ programs using clang AST. arXiv preprint arXiv:2308.05649 (2023)","DOI":"10.1007\/978-3-031-49342-3_9"},{"key":"9_CR43","doi-asserted-by":"publisher","unstructured":"Sousa, F.R.M., Cordeiro, L.C., de Lima Filho, E.B.: Bounded model checking of C++ programs based on the Qt framework. In: IEEE 4th Global Conference on Consumer Electronics, GCCE 2015, Osaka, Japan, 27\u201330 October 2015, pp. 179\u2013180. IEEE (2015). https:\/\/doi.org\/10.1109\/GCCE.2015.7398699","DOI":"10.1109\/GCCE.2015.7398699"},{"key":"9_CR44","unstructured":"UKRI: Sotereia project. https:\/\/soteriaresearch.org\/"},{"key":"9_CR45","doi-asserted-by":"publisher","first-page":"495","DOI":"10.1007\/978-3-031-30820-8_29","volume-title":"Tools and Algorithms for the Construction and Analysis of Systems (TACAS)","author":"D Beyer","year":"2023","unstructured":"Beyer, D.: Competition on software verification and witness validation: SV-COMP 2023. In: Sankaranarayanan, S., Sharygina, N. (eds.) TACAS 2023. LNCS, vol. 13994, pp. 495\u2013522. Springer, Cham (2023). https:\/\/doi.org\/10.1007\/978-3-031-30820-8_29"}],"container-title":["Lecture Notes in Computer Science","Formal Methods: Foundations and Applications"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-49342-3_9","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,12,27]],"date-time":"2023-12-27T04:12:37Z","timestamp":1703650357000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-49342-3_9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,12,2]]},"ISBN":["9783031493416","9783031493423"],"references-count":45,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-49342-3_9","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2023,12,2]]},"assertion":[{"value":"2 December 2023","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"SBMF","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Brazilian Symposium on Formal Methods","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Manaus","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Brazil","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2023","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"4 December 2023","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"8 December 2023","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"26","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"sbmf2023","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/sbmf23.ufam.edu.br\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"16","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"7","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"2","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"44% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"2","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}