{"title":"非线性算法和可变数据结构的量化断言验证方法","authors":"Xia Li, Yunjie Yu","doi":"10.1145/3568364.3568371","DOIUrl":null,"url":null,"abstract":"Formal verification is an important method to improve the high-confidence of software. However, it cannot be widely used for applications in the industry yet, mainly because of the insufficient proof power of theorem provers. The work of this paper focuses on the verification of quantified assertions describing program properties, and the verification process is based on the verification prototype system. For non-linear arithmetic in the quantified assertions verification, the Splitting-and-Merging method is proposed to transform the quantified assertions about the program, preserving original information and generating new quantified assertions, so that can be proved by automatic theorem prover. A Grouping method is proposed for the pointer programs with multiple quantified assertions of mutable data structures, it helps automatic theorem discover the association and properties between assertions of mutable data structures. Experimental results show that the verification prototype system can effectively solve the non-linear arithmetic problem and mutable data structures problem of the quantified assertions verification in program verification.","PeriodicalId":262799,"journal":{"name":"Proceedings of the 4th World Symposium on Software Engineering","volume":"258 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-09-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Quantified Assertion Verification Method for Non-linear Arithmetic and Mutable Data Structures\",\"authors\":\"Xia Li, Yunjie Yu\",\"doi\":\"10.1145/3568364.3568371\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Formal verification is an important method to improve the high-confidence of software. However, it cannot be widely used for applications in the industry yet, mainly because of the insufficient proof power of theorem provers. The work of this paper focuses on the verification of quantified assertions describing program properties, and the verification process is based on the verification prototype system. For non-linear arithmetic in the quantified assertions verification, the Splitting-and-Merging method is proposed to transform the quantified assertions about the program, preserving original information and generating new quantified assertions, so that can be proved by automatic theorem prover. A Grouping method is proposed for the pointer programs with multiple quantified assertions of mutable data structures, it helps automatic theorem discover the association and properties between assertions of mutable data structures. Experimental results show that the verification prototype system can effectively solve the non-linear arithmetic problem and mutable data structures problem of the quantified assertions verification in program verification.\",\"PeriodicalId\":262799,\"journal\":{\"name\":\"Proceedings of the 4th World Symposium on Software Engineering\",\"volume\":\"258 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-09-28\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 4th World Symposium on Software Engineering\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3568364.3568371\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 4th World Symposium on Software Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3568364.3568371","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Quantified Assertion Verification Method for Non-linear Arithmetic and Mutable Data Structures
Formal verification is an important method to improve the high-confidence of software. However, it cannot be widely used for applications in the industry yet, mainly because of the insufficient proof power of theorem provers. The work of this paper focuses on the verification of quantified assertions describing program properties, and the verification process is based on the verification prototype system. For non-linear arithmetic in the quantified assertions verification, the Splitting-and-Merging method is proposed to transform the quantified assertions about the program, preserving original information and generating new quantified assertions, so that can be proved by automatic theorem prover. A Grouping method is proposed for the pointer programs with multiple quantified assertions of mutable data structures, it helps automatic theorem discover the association and properties between assertions of mutable data structures. Experimental results show that the verification prototype system can effectively solve the non-linear arithmetic problem and mutable data structures problem of the quantified assertions verification in program verification.