Cargando…
RustHorn: CHC-Based Verification for Rust Programs
Reduction to the satisfiablility problem for constrained Horn clauses (CHCs) is a widely studied approach to automated program verification. The current CHC-based methods for pointer-manipulating programs, however, are not very scalable. This paper proposes a novel translation of pointer-manipulatin...
Autores principales: | , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
2020
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7702263/ http://dx.doi.org/10.1007/978-3-030-44914-8_18 |
_version_ | 1783616579584393216 |
---|---|
author | Matsushita, Yusuke Tsukada, Takeshi Kobayashi, Naoki |
author_facet | Matsushita, Yusuke Tsukada, Takeshi Kobayashi, Naoki |
author_sort | Matsushita, Yusuke |
collection | PubMed |
description | Reduction to the satisfiablility problem for constrained Horn clauses (CHCs) is a widely studied approach to automated program verification. The current CHC-based methods for pointer-manipulating programs, however, are not very scalable. This paper proposes a novel translation of pointer-manipulating Rust programs into CHCs, which clears away pointers and heaps by leveraging ownership. We formalize the translation for a simplified core of Rust and prove its correctness. We have implemented a prototype verifier for a subset of Rust and confirmed the effectiveness of our method. |
format | Online Article Text |
id | pubmed-7702263 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2020 |
record_format | MEDLINE/PubMed |
spelling | pubmed-77022632020-12-01 RustHorn: CHC-Based Verification for Rust Programs Matsushita, Yusuke Tsukada, Takeshi Kobayashi, Naoki Programming Languages and Systems Article Reduction to the satisfiablility problem for constrained Horn clauses (CHCs) is a widely studied approach to automated program verification. The current CHC-based methods for pointer-manipulating programs, however, are not very scalable. This paper proposes a novel translation of pointer-manipulating Rust programs into CHCs, which clears away pointers and heaps by leveraging ownership. We formalize the translation for a simplified core of Rust and prove its correctness. We have implemented a prototype verifier for a subset of Rust and confirmed the effectiveness of our method. 2020-04-18 /pmc/articles/PMC7702263/ http://dx.doi.org/10.1007/978-3-030-44914-8_18 Text en © The Author(s) 2020 Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made. The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. |
spellingShingle | Article Matsushita, Yusuke Tsukada, Takeshi Kobayashi, Naoki RustHorn: CHC-Based Verification for Rust Programs |
title | RustHorn: CHC-Based Verification for Rust Programs |
title_full | RustHorn: CHC-Based Verification for Rust Programs |
title_fullStr | RustHorn: CHC-Based Verification for Rust Programs |
title_full_unstemmed | RustHorn: CHC-Based Verification for Rust Programs |
title_short | RustHorn: CHC-Based Verification for Rust Programs |
title_sort | rusthorn: chc-based verification for rust programs |
topic | Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7702263/ http://dx.doi.org/10.1007/978-3-030-44914-8_18 |
work_keys_str_mv | AT matsushitayusuke rusthornchcbasedverificationforrustprograms AT tsukadatakeshi rusthornchcbasedverificationforrustprograms AT kobayashinaoki rusthornchcbasedverificationforrustprograms |