{"title":"Simplify Array Processing Loops for Efficient Program Verification","authors":"Xiang Du, Liangze Yin, Wei Dong","doi":"10.1109/ISSRE52982.2021.00049","DOIUrl":null,"url":null,"abstract":"Verification of large array programs is a major challenge for current program verification techniques due to large state spaces. Traditional methods such as bounded model checking often run out of time when verifying large array programs. To overcome the state explosion problem in the analysis of array programs, this paper proposes to simplify array processing loops for efficient program verification. For each array processing loop in an array program, we present a static analysis method to obtain a simplified loop for construction of a simplified program. The property checking of the simplified program can be used to approximate the original property. To evaluate the effectiveness and soundness, we implemented a tool based on our approach and tested it on SV-COMP 2019 benchmarks. The experimental results show that our method can successfully verify most program and achieve a high precision and effectiveness.","PeriodicalId":162410,"journal":{"name":"2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE)","volume":"27 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 IEEE 32nd International Symposium on Software Reliability Engineering (ISSRE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISSRE52982.2021.00049","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Verification of large array programs is a major challenge for current program verification techniques due to large state spaces. Traditional methods such as bounded model checking often run out of time when verifying large array programs. To overcome the state explosion problem in the analysis of array programs, this paper proposes to simplify array processing loops for efficient program verification. For each array processing loop in an array program, we present a static analysis method to obtain a simplified loop for construction of a simplified program. The property checking of the simplified program can be used to approximate the original property. To evaluate the effectiveness and soundness, we implemented a tool based on our approach and tested it on SV-COMP 2019 benchmarks. The experimental results show that our method can successfully verify most program and achieve a high precision and effectiveness.