arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2406.06221cs.PL
收藏

带细化类型的同步编程

Synchronous Programming with Refinement Types

Jiawei Chen, José Luiz Vargas de Mendonça, Bereket Shimels Ayele, Bereket Ngussie Bekele, Shayan Jalili, Pranjal Sharma, Nicholas Wohlfeil, Yicheng Zhang, Jean-Baptiste Jeannin

AI总结:

本文提出 CPS 语言 MARVeLus 的形式化,构建其同步细化类型系统元理论,实现验证与实现在同一语言中的结合,并在真实系统上验证同步程序执行。

摘要:

信息物理系统(CPS)由与物理世界交互的软件组成,例如机器人、车辆和工业过程。CPS 常常对生命、财产或环境的安全负责,因此必须以高度确定性来确定软件的正确性。为此,仅仅测试 CPS 是不够的,因为它与物理世界的交互可能难以预测,并且不安全条件可能不会立即显现。形式化验证可以提供更强的安全保证,但依赖于被验证系统在表示真实系统时的准确性。将验证与实现结合起来可能具有挑战性,因为通常用于实现 CPS 的语言不容易进行形式化验证,而适合验证的语言又常常抽象掉底层实现细节。在验证语言与实现语言之间进行翻译是可能的,但需要在翻译过程中提供额外的保证,并且会增加软件复杂性;在单一语言中同时具备两者是可取的。本文提出了 MARVeLus 的形式化,MARVeLus 是一种结合验证与实现的 CPS 语言。我们为其同步细化类型系统建立了元理论,并展示了经过验证的同步程序在真实系统上执行。

英文摘要:

Cyber-Physical Systems (CPS) consist of software interacting with the physical world, such as robots, vehicles, and industrial processes. CPS are frequently responsible for the safety of lives, property, or the environment, and so software correctness must be determined with a high degree of certainty. To that end, simply testing a CPS is insufficient, as its interactions with the physical world may be difficult to predict, and unsafe conditions may not be immediately obvious. Formal verification can provide stronger safety guarantees but relies on the accuracy of the verified system in representing the real system. Bringing together verification and implementation can be challenging, as languages that are typically used to implement CPS are not easy to formally verify, and languages that lend themselves well to verification often abstract away low-level implementation details. Translation between verification and implementation languages is possible, but requires additional assurances in the translation process and increases software complexity; having both in a single language is desirable. This paper presents a formalization of MARVeLus, a CPS language which combines verification and implementation. We develop a metatheory for its synchronous refinement type system and demonstrate verified synchronous programs executing on real systems.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑