Java2CSP调试工具与可互操作系统的安全分析
1. Java2CSP调试工具
Java2CSP是一款可通过互联网公开获取的调试工具,使用时仅需一个网页浏览器。该工具的开发初衷并非用于普通软件开发环境,而是为了展示基于模型推理在调试方面的能力,方便学生和研究人员轻松使用。
1.1 初始评估
对Java2CSP工具进行了初始评估,使用了包含不同方法的6个示例类。评估目的一是证明该工具能够给出正确的解决方案,二是初步了解调试结果的精度。评估时,将生成的诊断候选数量与语句总数进行比较,若二者相同,则诊断无法区分正确和错误语句,精度较低。
评估所用程序每个方法的代码行数较少,在5到13行之间,虽不足以评估通用调试方法,但Java2CSP主要用于展示基于模型诊断方法的基本能力。评估结果仅考虑单故障情况,工具从0开始枚举语句,在所有诊断运行中都找到了真正的错误。诊断质量(即精度)因测试用例和程序而异,且Java2CSP不会将所有语句都作为潜在候选。此外,所得结果是可行的,诊断时间极短可忽略不计。
以下是使用Java2CSP在小型示例程序上的实验结果:
| 程序 | 方法 | 参数 | 观察结果 | 诊断结果 |
| — | — | — | — | — |
| D74 | behaviorF1 | a=2, b=3, c=3, d=2, e=2 | f1=12, g1=12 | 1 |
| D74 | behaviorF2 | a=2, b=3, c=3, d=2, e=2 | f1=12, g1=12 | 0, 3 |
| D74 | behaviorF3 | a=2, b=3, c=3, d=2
超级会员免费看
订阅专栏 解锁全文

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



