{"title":"OCaml 程序的静态和动态验证:福音生态系统(扩展版)","authors":"Tiago Lopes Soares, Ion Chririca, Mário Pereira","doi":"arxiv-2407.17289","DOIUrl":null,"url":null,"abstract":"We present our work on the collaborative use of dynamic and static analysis\ntools for the verification of software written in the OCaml language. We build\nupon Gospel, a specification language for OCaml that can be used both in\ndynamic and static analyses. We employ Ortac, for runtime assertion checking,\nand Cameleer and CFML for the deductive verification of OCaml code. We report\non the use of such tools to build a case study of collaborative analysis of a\nnon-trivial OCaml program. This shows how these tools nicely complement each\nothers, while at the same highlights the differences when writing specification\ntargeting dynamic or static analysis methods.","PeriodicalId":501208,"journal":{"name":"arXiv - CS - Logic in Computer Science","volume":"44 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-07-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Static and Dynamic Verification of OCaml Programs: The Gospel Ecosystem (Extended Version)\",\"authors\":\"Tiago Lopes Soares, Ion Chririca, Mário Pereira\",\"doi\":\"arxiv-2407.17289\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We present our work on the collaborative use of dynamic and static analysis\\ntools for the verification of software written in the OCaml language. We build\\nupon Gospel, a specification language for OCaml that can be used both in\\ndynamic and static analyses. We employ Ortac, for runtime assertion checking,\\nand Cameleer and CFML for the deductive verification of OCaml code. We report\\non the use of such tools to build a case study of collaborative analysis of a\\nnon-trivial OCaml program. This shows how these tools nicely complement each\\nothers, while at the same highlights the differences when writing specification\\ntargeting dynamic or static analysis methods.\",\"PeriodicalId\":501208,\"journal\":{\"name\":\"arXiv - CS - Logic in Computer Science\",\"volume\":\"44 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-07-24\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Logic in Computer Science\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2407.17289\",\"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 - Logic in Computer Science","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2407.17289","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Static and Dynamic Verification of OCaml Programs: The Gospel Ecosystem (Extended Version)
We present our work on the collaborative use of dynamic and static analysis
tools for the verification of software written in the OCaml language. We build
upon Gospel, a specification language for OCaml that can be used both in
dynamic and static analyses. We employ Ortac, for runtime assertion checking,
and Cameleer and CFML for the deductive verification of OCaml code. We report
on the use of such tools to build a case study of collaborative analysis of a
non-trivial OCaml program. This shows how these tools nicely complement each
others, while at the same highlights the differences when writing specification
targeting dynamic or static analysis methods.