运行时属性检查方法对比及动态保证技术探讨
运行时验证工具对比
背景与工具介绍
在运行时验证领域,多年来开发了许多工具,也有多种用于指定系统运行时可检查属性的形式化方法。但目前缺乏真实规模的事件日志以及相关属性的通用基准套件,这使得比较不同规范形式化方法的表达能力、易用性以及工具性能变得困难。
这里我们对比两种工具:nfer 工具和 Cobra 工具。nfer 工具旨在简化事件日志分析,能更准确地指定感兴趣的属性并高效监控事件流。其开发源于对 NASA/JPL 的火星科学实验室(MSL)任务,特别是好奇号漫游者事件日志的分析。例如,在分析中有一种特定类型的错误事件 TLM TR ERROR,当它出现在已知的安全区间内时应被忽略,出现在区间外则应标记为错误。
Cobra 工具最初是为支持大型代码存档的交互式静态分析而开发的,经过扩展后可用于运行时验证。
事件区间与逻辑形式化
事件区间概念
为了对事件流进行推理,引入了事件区间的概念。Allen 区间代数为表达区间属性提供了逻辑框架,其运算符包括“i1 before i2”“i1 overlaps i2”“i1 during i2”“i1 meets i2”等(i1 和 i2 指特定的事件区间)。一个独立事件,如 TLM TR ERROR 事件,可视为零长度的特殊区间,这有助于推理其在其他区间内或外的出现情况,但使用零长度区间在逻辑上会引入一些特殊情况。
逻辑形式化
在 Allen 逻辑中,对 TLM TR ERROR 属性的形式化定义了一个名为 cmdExec 的感兴趣区间,该区间从 CMD DISP
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



