LIV: Loop-Invariant Validation Using Straight-Line Programs

Validation of program invariants (a.k.a. correctness witnesses) is an established procedure in software verification. There are steady advances in verification of more and more complex software systems, but coming up with good loop invariants remains the central task of many verifiers. While it ofte...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:IEEE/ACM International Conference on Automated Software Engineering : [proceedings] s. 2074 - 2077
Hlavní autori: Beyer, Dirk, Spiessl, Martin
Médium: Konferenčný príspevok..
Jazyk:English
Vydavateľské údaje: IEEE 11.09.2023
Predmet:
ISSN:2643-1572
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Abstract Validation of program invariants (a.k.a. correctness witnesses) is an established procedure in software verification. There are steady advances in verification of more and more complex software systems, but coming up with good loop invariants remains the central task of many verifiers. While it often requires large amounts of computation to construct safe and inductive invariants, they are more easy to automatically validate. We propose LIV, a new tool for loop-invariant validation, which makes it more practical to check if the invariant produced by a verifier is sufficient to establish an inductive safety proof. The main idea is to apply divide-and-conquer on the program level: We split the program into smaller, loop-free programs (a.k.a. straight-line programs) that form simpler verification tasks. Because the verification conditions are not encoded in logic syntax (such as SMT), but as programs in the language of the original program, any off-the-shelf verifier can be used to verify the generated straight-line programs. In case the validation fails, useful information can be extracted about which part of the proof failed (which straight-line programs are wrong). We show that our approach works by evaluating it on a suitable benchmark. Supplementary website: https://www.sosy-lab.org/research/liv/
AbstractList Validation of program invariants (a.k.a. correctness witnesses) is an established procedure in software verification. There are steady advances in verification of more and more complex software systems, but coming up with good loop invariants remains the central task of many verifiers. While it often requires large amounts of computation to construct safe and inductive invariants, they are more easy to automatically validate. We propose LIV, a new tool for loop-invariant validation, which makes it more practical to check if the invariant produced by a verifier is sufficient to establish an inductive safety proof. The main idea is to apply divide-and-conquer on the program level: We split the program into smaller, loop-free programs (a.k.a. straight-line programs) that form simpler verification tasks. Because the verification conditions are not encoded in logic syntax (such as SMT), but as programs in the language of the original program, any off-the-shelf verifier can be used to verify the generated straight-line programs. In case the validation fails, useful information can be extracted about which part of the proof failed (which straight-line programs are wrong). We show that our approach works by evaluating it on a suitable benchmark. Supplementary website: https://www.sosy-lab.org/research/liv/
Author Beyer, Dirk
Spiessl, Martin
Author_xml – sequence: 1
  givenname: Dirk
  orcidid: 0000-0003-4832-7662
  surname: Beyer
  fullname: Beyer, Dirk
  organization: LMU,Munich,Germany
– sequence: 2
  givenname: Martin
  orcidid: 0000-0002-9169-9130
  surname: Spiessl
  fullname: Spiessl, Martin
  organization: LMU,Munich,Germany
BookMark eNotjd1KwzAYQKMouM09gV70BTKTL83Pp1djTC0UFOZ2O5IuqZEtHWkRfHsLenU4N-dMyVXqkifkjrMF5wwflpu1VAC4AAZiwRjw8oLMUaMRkglAVOUlmYAqBeVSww2Z9v0XY3IUPSFPdbV7LOquO9MqfdscbRqKnT3Ggx1il4ptH1NbbIZsY_s50DomX7znrs321N-S62CPvZ__c0a2z-uP1Sut316q1bKmdtwPFFCB4dopF5wzzvPgLAMUzAkUjXGGeY9h1IMBpZvgS6u4R0QNjAfZiBm5_-tG7_3-nOPJ5p89HxtGlkb8AjcxSXQ
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
ESBDL
RIE
RIL
DOI 10.1109/ASE56229.2023.00214
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE Xplore Open Access Journals
IEL
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEL
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9798350329964
EISSN 2643-1572
EndPage 2077
ExternalDocumentID 10298548
Genre orig-research
GrantInformation_xml – fundername: Deutsche Forschungsgem. (DFG)
  grantid: 378803395
  funderid: 10.13039/501100001659
– fundername: Isaac Newton Institute
  funderid: 10.13039/100012112
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
ESBDL
IEGSK
IPLJI
M43
OCL
RIE
RIL
ID FETCH-LOGICAL-a329t-2962817b6bfbb8be1fba02930b393c8b80ee9f30bd8267cfe4a61e9997201f5c3
IEDL.DBID RIE
ISICitedReferencesCount 0
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001103357200201&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
IngestDate Wed Jul 16 07:54:33 EDT 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a329t-2962817b6bfbb8be1fba02930b393c8b80ee9f30bd8267cfe4a61e9997201f5c3
ORCID 0000-0003-4832-7662
0000-0002-9169-9130
OpenAccessLink https://ieeexplore.ieee.org/document/10298548
PageCount 4
ParticipantIDs ieee_primary_10298548
PublicationCentury 2000
PublicationDate 2023-Sept.-11
PublicationDateYYYYMMDD 2023-09-11
PublicationDate_xml – month: 09
  year: 2023
  text: 2023-Sept.-11
  day: 11
PublicationDecade 2020
PublicationTitle IEEE/ACM International Conference on Automated Software Engineering : [proceedings]
PublicationTitleAbbrev ASE
PublicationYear 2023
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssj0051577
ssib057256115
Score 2.2719
Snippet Validation of program invariants (a.k.a. correctness witnesses) is an established procedure in software verification. There are steady advances in verification...
SourceID ieee
SourceType Publisher
StartPage 2074
SubjectTerms Automatic Verification
Benchmark testing
Data mining
Formal Methods
Logic
Program Analysis
Program Correctness
Program Invariants
Provers
Safety
Software engineering
Software systems
Software Verification
Syntactics
Verification Tools
Title LIV: Loop-Invariant Validation Using Straight-Line Programs
URI https://ieeexplore.ieee.org/document/10298548
WOSCitedRecordID wos001103357200201&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/eLvHCXMwlV07T8MwED7RioGpPIp4ywNrIH4ktmFCqBWVqqoSUHWrYseWWJKqr9_P2U0LCwNbkiGy7mx9d8l93wdwXxqHLRrPE-ozkwhhi6TgpkwUFg88M6xIyzSaTcjRSE2netyQ1SMXxjkXh8_cQ7iM__LL2q7DpzI84UwrLLFb0JIy35K1dpsnkwjelO5rX8RpKRuZIZrqx5f3HkI9C9wUFkRNWeDt_DJUiXjS7_xzJcfQ_WHmkfEec07gwFWn0NlZM5DmpJ7B83AweSLDup4ng2qD_TAGkEyw5t5aKJE4KUCCNG0UEsGONL43jGotu_DZ7328viWNTwKGlelVwnTOFJUmN94YZRz1psD18dRwza0yKnVOe7wtsZeQ1jtR5NTpQJlNMUWWn0O7qit3AUSownqecYOpFdIL5T31gokSq0CbUX4J3RCM2XwrhTHbxeHqj-fXcBTiHQYsKL2B9mqxdrdwaDerr-XiLibwG5tOmrY
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV07T8MwED5BQYKpPIp4k4E1ED-S2DAh1KoVoapEqbpVsWNLLEnV1-_n7KaFhYEtyRBZ39n67pL77gO4L5TBEo0lIbGxCjnXeZgzVYQCkwcWK5pHReTNJtJ-X4zHclCL1b0Wxhjjm8_Mg7v0__KLSi_dpzI84VQKTLF3Yc9ZZ9Vyrc32iVOkb0K22S8ydZrWg4ZIJB9fPtpI9tSpU6gba0qdcueXpYpnlE7zn2s5gtaPNi8YbFnnGHZMeQLNjTlDUJ_VU3jOeqOnIKuqadgrV1gRI4TBCLPutYlS4HsFAjec1o8SwZrUv9c1a81b8NlpD1-7Ye2UgMBSuQipTKggqUqUVUooQ6zKcX0sUkwyLZSIjJEWbwusJlJtDc8TYqQTzUYYJM3OoFFWpTmHgItcWxYzhcHlqeXCWmI55QXmgTom7AJaDozJdD0MY7LB4fKP53dw0B2-Z5Os13-7gkOHvWu3IOQaGovZ0tzAvl4tvuazWx_Mb952nf8
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=LIV%3A+Loop-Invariant+Validation+Using+Straight-Line+Programs&rft.au=Beyer%2C+Dirk&rft.au=Spiessl%2C+Martin&rft.date=2023-09-11&rft.pub=IEEE&rft.eissn=2643-1572&rft.spage=2074&rft.epage=2077&rft_id=info:doi/10.1109%2FASE56229.2023.00214&rft.externalDocID=10298548