Designing correct replicated data types (RDTs) is challenging because replicas evolve independently and must be merged while preserving application intent. A promising approach is correct-by-construction development in a proof-oriented programming language such as F*, Dafny and Lean, where desired correctness guarantees are specified and checked as the RDTs are implemented. Recent work Neem proposes the use of replication-aware linearizability (RA linearizability) as the correctness condition for state-based CRDTs and mergeable replicated data types (MRDTs), with automation in the SMT-aided, proof-oriented programming language F*. However, SMT-centric workflows can be opaque when automation fails to discharge a verification condition (VC), and they enlarge the trusted computing base (TCB). We present Sal, a multi-modal workflow to design and verify state-based CRDTs and MRDTs in Lean. Sal combines (i) kernel-checkable automation with proof reconstruction, (ii) SMT-aided automation when needed, and (iii) AI-assisted interactive theorem proving for remaining proof obligations. When a verification condition is shown to be invalid, we leverage Lean's property-based testing to automatically generate and visualize counterexamples, helping developers debug incorrect specifications or implementations. We report on our experience verifying a suite of 13 CRDTs and MRDTs with Sal: 69% of verification conditions are discharged by kernel-verified automation without SMT, and counterexamples automatically expose subtle bugs such as the well-known enable-wins flag anomaly. The codebase for Sal is open-sourced, and is available at \href{https://github.com/fplaunchpad/sal}{https://github.com/fplaunchpad/sal}


翻译:设计正确的复制数据类型(RDT)具有挑战性,因为副本独立演化,必须在保留应用意图的前提下进行合并。一种有前景的方法是在面向证明的编程语言(如F*、Dafny和Lean)中进行“正确性通过构造保证”的开发,在实现RDT的同时指定并检查所需的正确性保证。近期工作Neem提出将“复制感知线性化”(RA线性化)作为基于状态的CRDT和可合并复制数据类型(MRDT)的正确性条件,并在基于SMT辅助、面向证明的编程语言F*中实现自动化。然而,当自动化无法完成验证条件(VC)的消解时,以SMT为中心的工作流可能不够透明,并且会扩大可信计算基(TCB)。我们提出Sal,一种在Lean中设计和验证基于状态的CRDT和MRDT的多模态工作流。Sal结合了(i)带证明重构的内核可检查自动化、(ii)必要时基于SMT辅助的自动化,以及(iii)针对剩余证明义务的AI辅助交互式定理证明。当验证条件被证明无效时,我们利用Lean的基于属性的测试自动生成并可视化反例,帮助开发者调试错误规范或实现。我们报告了使用Sal验证13个CRDT和MRDT套件的经验:69%的验证条件由内核验证的自动化(无需SMT)消解,反例自动暴露了细微错误,例如著名的“enable-wins标志异常”。Sal的代码库已开源,地址为\href{https://github.com/fplaunchpad/sal}{https://github.com/fplaunchpad/sal}。

0
下载
关闭预览

相关内容

机器或装置在无人干预的情况下按规定的程序或指令自动进行操作或控制的过程, 是一门涉及学科较多、应用广泛的综合性科学技术。
多模态复合编辑与检索综述
专知会员服务
25+阅读 · 2024年9月14日
Meta-Transformer:多模态学习的统一框架
专知会员服务
59+阅读 · 2023年7月21日
非平衡数据集 focal loss 多类分类
AI研习社
33+阅读 · 2019年4月23日
数据分析师应该知道的16种回归技术:Lasso回归
数萃大数据
16+阅读 · 2018年8月13日
数据分析师应该知道的16种回归技术:岭回归
数萃大数据
15+阅读 · 2018年8月11日
统计学常用数据类型
论智
19+阅读 · 2018年7月6日
国家自然科学基金
1+阅读 · 2017年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
9+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
5+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
VIP会员
最新内容
ICML 2026 | CFPO:用反事实策略优化提升多模态推理
专知会员服务
1+阅读 · 今天14:45
综述 | 世界动作模型:少做梦,多行动
专知会员服务
1+阅读 · 今天14:43
美以伊冲突:无人机与人工智能的运用
专知会员服务
3+阅读 · 今天14:31
《特种部队在透明战场中的生存力》最新报告
专知会员服务
2+阅读 · 今天14:11
《人工智能生成的零日漏洞:对未来作战的影响》
综述 | 3D场景图:开放挑战与未来方向
专知会员服务
8+阅读 · 6月22日
21世纪的无人机战争
专知会员服务
4+阅读 · 6月22日
《量子技术的军事任务技术适配与利用》
专知会员服务
5+阅读 · 6月22日
相关VIP内容
多模态复合编辑与检索综述
专知会员服务
25+阅读 · 2024年9月14日
Meta-Transformer:多模态学习的统一框架
专知会员服务
59+阅读 · 2023年7月21日
相关基金
国家自然科学基金
1+阅读 · 2017年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
9+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
5+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员