Incrementality is a fundamental design principle to master the complexity of large, long-lived software systems. This principle has been embraced by agile development processes and it lays at the base of continuous software evolution. A major challenge in this context is to incrementally re-verify the correctness of software artifacts after every change, focusing the verification efforts only on the parts affected by the change. We present an approach to the incremental verification of programs written in KernelC, annotated with properties expressed in matching logic. The approach is based on a syntactic-semantic framework that enables analyzing code chunks in isolation so that, after a change to a program fragment, only the part whose semantics is affected by the change is re-processed. This property is obtained by expressing the language syntax through an operator precedence grammar and by formalizing its semantics through a synthesized attribute schema. We have implemented our technique in a prototype tool and experimentally evaluated its effectiveness. The results show that our approach does not penalize the efficiency of formal verification and can outperform program re-verification after changes, depending on the presence and type of annotations, as well as the position of the change and the program structure.


翻译:增量性是掌握大型、长期运行软件系统复杂性的基本设计原则。该原则已被敏捷开发流程采纳,并构成持续软件演化的基础。在此背景下,一个主要挑战是在每次变更后增量式地重新验证软件工件的正确性,仅将验证工作聚焦于受变更影响的部分。我们提出一种针对KernelC程序(带有用匹配逻辑表达的属性注释)的增量验证方法。该方法基于语法-语义框架,支持代码块隔离分析,从而在程序片段变更后,仅需重新处理语义受该变更影响的部分。此特性通过操作符优先级文法表达语言语法,并利用综合属性模式形式化其语义来实现。我们已在原型工具中实现该技术,并通过实验评估其有效性。结果表明,我们的方法不会损害形式验证的效率,且能根据注释的有无及类型、变更位置及程序结构,在变更后超越程序重新验证的性能。

0
下载
关闭预览

相关内容

一个具体事物,总是有许许多多的性质与关系,我们把一个事物的性质与关系,都叫作事物的属性。 事物与属性是不可分的,事物都是有属性的事物,属性也都是事物的属性。 一个事物与另一个事物的相同或相异,也就是一个事物的属性与另一事物的属性的相同或相异。 由于事物属性的相同或相异,客观世界中就形成了许多不同的事物类。具有相同属性的事物就形成一类,具有不同属性的事物就分别地形成不同的类。
《软件定义网络元素与机器代码的形式化验证》
专知会员服务
14+阅读 · 2025年11月18日
《基于大型语言模型的软件工程自动化研究》最新264页
专知会员服务
39+阅读 · 2025年7月14日
基于深度学习的类别增量学习算法综述
专知会员服务
44+阅读 · 2023年8月10日
【AAAI2023】类增量学习的在线超参数优化
专知会员服务
20+阅读 · 2023年1月18日
专知会员服务
112+阅读 · 2020年6月26日
【CVPR 2020 Oral】小样本类增量学习
专知
20+阅读 · 2020年6月26日
基于 SonarQube 的增量代码扫描
DevOps时代
12+阅读 · 2019年7月18日
【收藏】支持向量机原理详解+案例+代码!【点击阅读原文下载】
机器学习算法与Python学习
10+阅读 · 2018年9月13日
谷歌推出新型数据增强算法:AutoAugment
论智
20+阅读 · 2018年6月6日
超全总结:神经网络加速之量化模型 | 附带代码
《软件方法》1-8章全部自测题更新内容
UMLChina
11+阅读 · 2018年3月26日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
10+阅读 · 2013年12月31日
Arxiv
0+阅读 · 6月11日
VIP会员
最新内容
人工智能赋能战场情报:提速决策进程
专知会员服务
0+阅读 · 16分钟前
《拥抱新兴技术:面向未来军官的教育革新》
专知会员服务
0+阅读 · 20分钟前
《无人地面战车(UGV)的崛起》报告
专知会员服务
7+阅读 · 7月16日
美陆军任务式指挥人工智能解决方案
专知会员服务
11+阅读 · 7月16日
相关VIP内容
《软件定义网络元素与机器代码的形式化验证》
专知会员服务
14+阅读 · 2025年11月18日
《基于大型语言模型的软件工程自动化研究》最新264页
专知会员服务
39+阅读 · 2025年7月14日
基于深度学习的类别增量学习算法综述
专知会员服务
44+阅读 · 2023年8月10日
【AAAI2023】类增量学习的在线超参数优化
专知会员服务
20+阅读 · 2023年1月18日
专知会员服务
112+阅读 · 2020年6月26日
相关基金
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
4+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
10+阅读 · 2013年12月31日
Top
微信扫码咨询专知VIP会员