Malfunctions in software like airplane control systems or nuclear plant control systems can have catastrophic consequences. Formal verification is the only form of sofware testing that can guarantee the absence of bugs. Formally verified software gives a mathematical proof that the specification is correctly implemented and that no bugs would induce unwanted behaviour. This has a high development cost and having an entirely verified program takes time and effort. However, having verified components already has great benefits. We implement in Scala and formally verify with Stainless a hash map that can then be reused and act as a basis on which to rely. The implementation we propose is based on the LongMap of the Scala standard library with some minor adaptations. This map is implemented with mutable arrays. We give the specification with respect to an implementation of a map based on a list of tuples, that we implement and formally verify as well.


翻译:象飞机控制系统或核电站控制系统这样的软件的功能失灵可能产生灾难性后果。 正式核查是能够保证没有错误的唯一软体测试形式。 正式核查的软件提供了一个数学证据, 证明规格得到正确执行, 没有错误会引起不想要的行为。 开发成本高, 程序经过完全核查需要时间和精力。 但是, 已经核实的部件已经有很大的好处 。 我们在Scala 执行一张可以再利用的散列地图, 并与Stainless 一起正式核查, 并以此为依据。 我们提议的执行以Scala 标准库长映射为基础, 并进行一些小的修改 。 该地图是用变形阵列执行的。 我们给出执行地图的规格, 以图具清单为基础, 我们执行并正式核实地图 。

0
下载
关闭预览

相关内容

Scala 是一门现代的多范式编程语言,志在以简练、优雅及类型安全的方式来表达常用编程模式。它平滑地集成了面向对象和函数语言的特性。Scala 运行于Java 平台(Java 虚拟机),并兼容现有的 Java 程序。
【干货书】开放数据结构,Open Data Structures,337页pdf
专知会员服务
16+阅读 · 2021年9月17日
【经典书】信息论与统计: 教程,116页pdf
专知会员服务
58+阅读 · 2021年3月27日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
144+阅读 · 2019年10月12日
【新书】Python编程基础,669页pdf
专知会员服务
186+阅读 · 2019年10月10日
机器学习入门的经验与建议
专知会员服务
90+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
意识是一种数学模式
CreateAMind
3+阅读 · 2019年6月24日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
CCF A类 | 顶级会议RTSS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年4月17日
Msfvenom 常用生成 Payload 命令
黑白之道
9+阅读 · 2019年2月23日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
机器人开发库软件大列表
专知
10+阅读 · 2018年3月18日
【学习】(Python)SVM数据分类
机器学习研究会
6+阅读 · 2017年10月15日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
Arxiv
0+阅读 · 2021年9月23日
Arxiv
0+阅读 · 2021年9月22日
Arxiv
0+阅读 · 2021年9月18日
Arxiv
0+阅读 · 2021年9月17日
VIP会员
相关VIP内容
【干货书】开放数据结构,Open Data Structures,337页pdf
专知会员服务
16+阅读 · 2021年9月17日
【经典书】信息论与统计: 教程,116页pdf
专知会员服务
58+阅读 · 2021年3月27日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
144+阅读 · 2019年10月12日
【新书】Python编程基础,669页pdf
专知会员服务
186+阅读 · 2019年10月10日
机器学习入门的经验与建议
专知会员服务
90+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
相关资讯
意识是一种数学模式
CreateAMind
3+阅读 · 2019年6月24日
Hierarchically Structured Meta-learning
CreateAMind
23+阅读 · 2019年5月22日
CCF A类 | 顶级会议RTSS 2019诚邀稿件
Call4Papers
10+阅读 · 2019年4月17日
Msfvenom 常用生成 Payload 命令
黑白之道
9+阅读 · 2019年2月23日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
Unsupervised Learning via Meta-Learning
CreateAMind
41+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
机器人开发库软件大列表
专知
10+阅读 · 2018年3月18日
【学习】(Python)SVM数据分类
机器学习研究会
6+阅读 · 2017年10月15日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
Top
微信扫码咨询专知VIP会员