{"title":"OSVAuto:操作系统功能规格的半自动验证器","authors":"Yulun Wu, Bohua Zhan, Bican Xia","doi":"arxiv-2403.13457","DOIUrl":null,"url":null,"abstract":"We present the design and implementation of a tool for semi-automatic\nverification of functional specifications of operating system modules. Such\nverification tasks are traditionally done in interactive theorem provers, where\nthe functionalities of the module are specified at abstract and concrete levels\nusing data such as structures, algebraic datatypes, arrays, maps and so on. In\nthis work, we provide encodings to SMT for these commonly occurring data types.\nThis allows verification conditions to be reduced into a form suitable for SMT\nsolvers. The use of SMT solvers combined with a tactic language allows\nsemi-automatic verification of the specification. We apply the tool to verify\nfunctional specification for key parts of the uC-OS/II operating system, based\non earlier work giving full verification of the system in Coq. We demonstrate a\nlarge reduction in the amount of human effort due to increased level of\nautomation.","PeriodicalId":501033,"journal":{"name":"arXiv - CS - Symbolic Computation","volume":"178 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-03-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"OSVAuto: semi-automatic verifier for functional specifications of operating systems\",\"authors\":\"Yulun Wu, Bohua Zhan, Bican Xia\",\"doi\":\"arxiv-2403.13457\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We present the design and implementation of a tool for semi-automatic\\nverification of functional specifications of operating system modules. Such\\nverification tasks are traditionally done in interactive theorem provers, where\\nthe functionalities of the module are specified at abstract and concrete levels\\nusing data such as structures, algebraic datatypes, arrays, maps and so on. In\\nthis work, we provide encodings to SMT for these commonly occurring data types.\\nThis allows verification conditions to be reduced into a form suitable for SMT\\nsolvers. The use of SMT solvers combined with a tactic language allows\\nsemi-automatic verification of the specification. We apply the tool to verify\\nfunctional specification for key parts of the uC-OS/II operating system, based\\non earlier work giving full verification of the system in Coq. We demonstrate a\\nlarge reduction in the amount of human effort due to increased level of\\nautomation.\",\"PeriodicalId\":501033,\"journal\":{\"name\":\"arXiv - CS - Symbolic Computation\",\"volume\":\"178 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-03-20\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Symbolic Computation\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2403.13457\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Symbolic Computation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2403.13457","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
OSVAuto: semi-automatic verifier for functional specifications of operating systems
We present the design and implementation of a tool for semi-automatic
verification of functional specifications of operating system modules. Such
verification tasks are traditionally done in interactive theorem provers, where
the functionalities of the module are specified at abstract and concrete levels
using data such as structures, algebraic datatypes, arrays, maps and so on. In
this work, we provide encodings to SMT for these commonly occurring data types.
This allows verification conditions to be reduced into a form suitable for SMT
solvers. The use of SMT solvers combined with a tactic language allows
semi-automatic verification of the specification. We apply the tool to verify
functional specification for key parts of the uC-OS/II operating system, based
on earlier work giving full verification of the system in Coq. We demonstrate a
large reduction in the amount of human effort due to increased level of
automation.