LLM-Generated Invariants for Bounded Model Checking Without Loop Unrolling
We investigate a modification of the classical Bounded Model Checking (BMC) procedure that does not handle loops through unrolling but via modifications to the control flow graph (CFG). A portion of the CFG representing a loop is replaced by a node asserting invariants of the loop. We generate these...
Saved in:
| Published in: | IEEE/ACM International Conference on Automated Software Engineering : [proceedings] pp. 1395 - 1407 |
|---|---|
| Main Authors: | , , , |
| Format: | Conference Proceeding |
| Language: | English |
| Published: |
ACM
27.10.2024
|
| Subjects: | |
| ISSN: | 2643-1572 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | We investigate a modification of the classical Bounded Model Checking (BMC) procedure that does not handle loops through unrolling but via modifications to the control flow graph (CFG). A portion of the CFG representing a loop is replaced by a node asserting invariants of the loop. We generate these invariants using Large Language Models (LLMs) and use a first-order theorem prover to ensure the correctness of the generated statements. We thus transform programs to loop-free variants in a sound manner. Our experimental results show that the resulting tool, ESBMC ibmc, is competitive with state-of-the-art formal verifiers for programs with unbounded loops, significantly improving the number of programs verified by the industrial-strength software verifier ESBMC and verifying programs that state-of-the-art software verifiers such as SeaHorn and VeriAbs could not. |
|---|---|
| AbstractList | We investigate a modification of the classical Bounded Model Checking (BMC) procedure that does not handle loops through unrolling but via modifications to the control flow graph (CFG). A portion of the CFG representing a loop is replaced by a node asserting invariants of the loop. We generate these invariants using Large Language Models (LLMs) and use a first-order theorem prover to ensure the correctness of the generated statements. We thus transform programs to loop-free variants in a sound manner. Our experimental results show that the resulting tool, ESBMC ibmc, is competitive with state-of-the-art formal verifiers for programs with unbounded loops, significantly improving the number of programs verified by the industrial-strength software verifier ESBMC and verifying programs that state-of-the-art software verifiers such as SeaHorn and VeriAbs could not. |
| Author | Bhayat, Ahmed Reger, Giles Pirzada, Muhammad A. A. Cordeiro, Lucas C. |
| Author_xml | – sequence: 1 givenname: Muhammad A. A. surname: Pirzada fullname: Pirzada, Muhammad A. A. email: muhammad.pirzada@manchester.ac.uk organization: The University of Manchester,Manchester,UK – sequence: 2 givenname: Ahmed surname: Bhayat fullname: Bhayat, Ahmed email: ahmed_bhayat@hotmail.com organization: The University of Manchester,Manchester,UK – sequence: 3 givenname: Lucas C. surname: Cordeiro fullname: Cordeiro, Lucas C. email: lucas.cordeiro@manchester.ac.uk organization: The University of Manchester,Manchester,UK – sequence: 4 givenname: Giles surname: Reger fullname: Reger, Giles email: giles.reger@manchester.ac.uk organization: The University of Manchester,Manchester,UK |
| BookMark | eNotjE1Lw0AURUdRsNas3biYP5CaN5-ZpRZbKyluLC7LS-bFDsaZkqSC_96Ars69B-69ZhcxRWLsFooFgNL30jgwolhM1BrEGcucdaUqCgtClfaczYRRMgdtxRXLhiHUxRS1ATAz9lJV23xNkXocyfNN_MY-YBwH3qaeP6ZT9JPeJk8dXx6o-Qzxg7-H8ZBOI69SOvJd7FPXTfqGXbbYDZT9c852q6e35XNeva43y4cqR1G6MbeAvgavvddUE1hwrVHoXFMLRJKFNS1CA1o2HpVQzjaorJ26VVIDopyzu7_fQET7Yx--sP_ZwzRUTgj5C1pCTu4 |
| CODEN | IEEPAD |
| ContentType | Conference Proceeding |
| DBID | 6IE 6IL CBEJK RIE RIL |
| DOI | 10.1145/3691620.3695512 |
| DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Xplore POP ALL IEEE Xplore All Conference Proceedings IEEE Electronic Library (IEL) IEEE Proceedings Order Plans (POP All) 1998-Present |
| DatabaseTitleList | |
| Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISBN | 9798400712487 |
| EISSN | 2643-1572 |
| EndPage | 1407 |
| ExternalDocumentID | 10764922 |
| Genre | orig-research |
| GrantInformation_xml | – fundername: Engineering and Physical Sciences Research Council funderid: 10.13039/501100000266 |
| GroupedDBID | 6IE 6IF 6IH 6IK 6IL 6IM 6IN 6J9 AAJGR AAWTH ABLEC ACREN ADYOE ADZIZ AFYQB ALMA_UNASSIGNED_HOLDINGS AMTXH BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK CHZPO IEGSK IPLJI M43 OCL RIE RIL |
| ID | FETCH-LOGICAL-a289t-71adb1d5dd5ebe1719f64a99cb2aae3076fa1c153cda42497ca47715374351aa3 |
| IEDL.DBID | RIE |
| ISICitedReferencesCount | 1 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001353105400112&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| IngestDate | Wed Jan 15 06:20:43 EST 2025 |
| IsDoiOpenAccess | false |
| IsOpenAccess | true |
| IsPeerReviewed | false |
| IsScholarly | true |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-a289t-71adb1d5dd5ebe1719f64a99cb2aae3076fa1c153cda42497ca47715374351aa3 |
| OpenAccessLink | https://doi.org/10.1145/3691620.3695512 |
| PageCount | 13 |
| ParticipantIDs | ieee_primary_10764922 |
| PublicationCentury | 2000 |
| PublicationDate | 2024-Oct.-27 |
| PublicationDateYYYYMMDD | 2024-10-27 |
| PublicationDate_xml | – month: 10 year: 2024 text: 2024-Oct.-27 day: 27 |
| PublicationDecade | 2020 |
| PublicationTitle | IEEE/ACM International Conference on Automated Software Engineering : [proceedings] |
| PublicationTitleAbbrev | ASE |
| PublicationYear | 2024 |
| Publisher | ACM |
| Publisher_xml | – name: ACM |
| SSID | ssib057256116 ssj0051577 |
| Score | 2.335519 |
| Snippet | We investigate a modification of the classical Bounded Model Checking (BMC) procedure that does not handle loops through unrolling but via modifications to the... |
| SourceID | ieee |
| SourceType | Publisher |
| StartPage | 1395 |
| SubjectTerms | Benchmark testing Bounded Model Checking Closed box Flow graphs Glass box Invariant Generation Large language models Model checking Program Verification Software engineering Transforms |
| Title | LLM-Generated Invariants for Bounded Model Checking Without Loop Unrolling |
| URI | https://ieeexplore.ieee.org/document/10764922 |
| WOSCitedRecordID | wos001353105400112&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV07T8MwELagYmAqjyLe8sBqiBPHF69UIECh6kBFt8qvqJVQUpW0v59zkoIYGNhsT5btu_s-2_cdITdJYpwuIs8ib1ImuC6YKTxneDoE8gkpTdGo6-cwGmXTqRp3yepNLoz3vvl85m9Ds3nLd5Vdh6sytHCQQsXocXcBoE3W2h6eFDB484B1WjeMcRqg0_LhIr1LJAKhGDmqVAgS4l_FVJpY8tj_5ywOyOAnK4-Ov-PNIdnx5RHpb8sy0M5Kj8lLnr-yVk4a4SR9LjfIh8N3F4oAld6HOko4HIqgfdDh3NtwWU7fF_W8Wtc0r6olnZSrVqt7QCaPD2_DJ9aVTGAamVPNgGtnuEudS3F3OHBVSKGVsibW2qM9y0Jzi17OOi2QeYHVAgD7CCRSrnVyQnplVfpTQo0Cl3EP4d1S-ERlDnSGZCVywkfW8DMyCGszW7aqGLPtspz_MX5B9mMEBMHvx3BJevVq7a_Int3Ui8_VdbOXX5UfnsA |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV07T8MwELZQQYKpPIp444HVEDtOHK9UVC2kVYdWdKv8iloJJVVJ-_s5JymIgYHN9mTZvrvvs33fIfQQhtqqLHAkcDoinKqM6MxRAqeDA5-IY51V6vqpGI2S2UyOm2T1KhfGOVd9PnOPvlm95dvCbPxVGVi4iLlk4HH3I84ZrdO1dscnEhC-qUc7tSOGSC1Eo-ZDefQUxgCFGLDUWAJMYL_KqVTRpNf-5zyOUecnLw-PvyPOCdpz-Slq7woz4MZOz9Brmg5JLSgNgBIP8i0wYv_hBQNExc--khIM-zJoH7i7cMZfl-P3ZbkoNiVOi2KFp_m6VuvuoGnvZdLtk6ZoAlHAnUoiqLKa2sjaCPaHCiqzmCspjWZKObDoOFPUgJ8zVnHgXsIoLgT0AUpEVKnwHLXyIncXCGspbEKd8C-X3IUysUIlQFcCy11gNL1EHb8281WtizHfLcvVH-P36LA_GabzdDB6u0ZHDOCBjwJM3KBWud64W3RgtuXyc31X7esXCNaiBw |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=IEEE%2FACM+International+Conference+on+Automated+Software+Engineering+%3A+%5Bproceedings%5D&rft.atitle=LLM-Generated+Invariants+for+Bounded+Model+Checking+Without+Loop+Unrolling&rft.au=Pirzada%2C+Muhammad+A.+A.&rft.au=Bhayat%2C+Ahmed&rft.au=Cordeiro%2C+Lucas+C.&rft.au=Reger%2C+Giles&rft.date=2024-10-27&rft.pub=ACM&rft.eissn=2643-1572&rft.spage=1395&rft.epage=1407&rft_id=info:doi/10.1145%2F3691620.3695512&rft.externalDocID=10764922 |