CN: Verifying Systems C Code with Separation-Logic Refinement Types

Author:

Pulte Christopher1ORCID,Makwana Dhruv C.1ORCID,Sewell Thomas1ORCID,Memarian Kayvan1ORCID,Sewell Peter1ORCID,Krishnaswami Neel1ORCID

Affiliation:

1. University of Cambridge, UK

Abstract

Despite significant progress in the verification of hypervisors, operating systems, and compilers, and in verification tooling, there exists a wide gap between the approaches used in verification projects and conventional development of systems software. We see two main challenges in bringing these closer together: verification handling the complexity of code and semantics of conventional systems software, and verification usability. We describe an experiment in verification tool design aimed at addressing some aspects of both: we design and implement CN, a separation-logic refinement type system for C systems software, aimed at predictable proof automation, based on a realistic semantics of ISO C. CN reduces refinement typing to decidable propositional logic reasoning, uses first-class resources to support pointer aliasing and pointer arithmetic, features resource inference for iterated separating conjunction, and uses a novel syntactic restriction of ghost variables in specifications to guarantee their successful inference. We implement CN and formalise key aspects of the type system, including a soundness proof of type checking. To demonstrate the usability of CN we use it to verify a substantial component of Google's pKVM hypervisor for Android.

Funder

European Research Council

Publisher

Association for Computing Machinery (ACM)

Subject

Safety, Risk, Reliability and Quality,Software

Reference60 articles.

1. L^ 3;Ahmed Amal;A Linear Language with Locations. Fundam. Informaticae,2007

2. Roberto M. Amadio , Nicholas Ayache , François Bobot , Jaap Boender , Brian Campbell , Ilias Garnier , Antoine Madet , James McKinna , Dominic P. Mulligan , Mauro Piccolo , Randy Pollack , Yann Régis-Gianas , Claudio Sacerdoti Coen , Ian Stark , and Paolo Tranquilli . 2013 . Certified Complexity (CerCo) . In Foundational and Practical Aspects of Resource Analysis - Third International Workshop, FOPARA 2013 , Bertinoro, Italy , August 29-31, 2013, Revised Selected Papers. 1–18. https://doi.org/10.1007/978-3-319-12466-7_1 10.1007/978-3-319-12466-7_1 10.1007/978-3-319-12466-7_1 Roberto M. Amadio, Nicholas Ayache, François Bobot, Jaap Boender, Brian Campbell, Ilias Garnier, Antoine Madet, James McKinna, Dominic P. Mulligan, Mauro Piccolo, Randy Pollack, Yann Régis-Gianas, Claudio Sacerdoti Coen, Ian Stark, and Paolo Tranquilli. 2013. Certified Complexity (CerCo). In Foundational and Practical Aspects of Resource Analysis - Third International Workshop, FOPARA 2013, Bertinoro, Italy, August 29-31, 2013, Revised Selected Papers. 1–18. https://doi.org/10.1007/978-3-319-12466-7_1 10.1007/978-3-319-12466-7_1

3. Android Open Source . 2022. Android 13 Release Notes. https://source.android.com/docs/setup/about/android-13-release [Online ; accessed 11- November - 2022 ] Android Open Source. 2022. Android 13 Release Notes. https://source.android.com/docs/setup/about/android-13-release [Online; accessed 11-November-2022]

4. Andrew W. Appel Robert Dockins Aquinas Hobor Lennart Beringer Josiah Dodds Gordon Stewart Sandrine Blazy and Xavier Leroy. 2014. Program Logics for Certified Compilers. CUP. https://doi.org/10.1017/CBO9781107256552 10.1017/CBO9781107256552 10.1017/CBO9781107256552

5. Andrew W. Appel Robert Dockins Aquinas Hobor Lennart Beringer Josiah Dodds Gordon Stewart Sandrine Blazy and Xavier Leroy. 2014. Program Logics for Certified Compilers. CUP. https://doi.org/10.1017/CBO9781107256552 10.1017/CBO9781107256552

Cited by 2 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Ownership Types for Verification of Programs with Pointer Arithmetic;Proceedings of the 2024 ACM SIGPLAN International Workshop on Partial Evaluation and Program Manipulation;2024-01-11

2. VST-A: A Foundationally Sound Annotation Verifier;Proceedings of the ACM on Programming Languages;2024-01-05

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3