基于 Oracle 的系统识别方法来进行 Control-CPS 软件缺陷定位

摘要

研究介绍

图 1:Control-CPS oracle 问题很难解决,例如 在自动驾驶仪中,如何分辨出正确的物理轨迹?、

1)我们为控制 CPS 软件缺陷定位提出了一个基于 AR-SI 的 Oracle。

2)我们提出了一种相应的代码跟踪准备方法,该方法可以确定性地自动运行。

3)我们将我们提出的方法与人工 Oracle 方法的主流实践进行比较。对注入了实际和人工设置错误的经典控制 CPS 的综合评估表明,我们提出的方法在缺陷定位准确性(召回率)和潜伏期以及 oracle 假阳性/假阴性的概率方面明显优于人工 oracle 方法。我们的方法还有助于发现消费级控件 CPS 中的真实存在的错误。

系统架构和假定:

图 2:一个典型的 Control-CPS 架构

  1. Y(t)是连续且可微的,频率分量上限
  2. Δ<=

方法:

由此数学基础得到两点启发,最终提出代码跟踪准备方法,我们提出的方法主要服务于软件缺陷定位工具的三个主流系列:程序频谱,统计数据和机器学习。然后对提出的方法进行评估,该评估回答了以下研究问题:1.我们提出的方法如何对软件缺陷定位的质量做出影响的。2.我们提出的方法如何影响原始 Oracle 质量的。我们将在 ArduPilot 和 IP+CV 控制 CPS 测试台上进行评估,这些测试台上有来自真实或人工注入的各种错误,以回答上述研究问题。

经过评估后对研究问题的回答:

Q1:与人工 Oracle 方法相比,我们提出的方法显着提高了 TA 和 CR 软件缺陷定位的质量(在准确性(召回率)和延迟方面),改善幅度为中到大。

Q2:与人工 Oracle 相比,我们提出的方法显着提高了 Oracle 的原始质量(就假阳性/阴性率而言),改善幅度很大。

除了对注入的错误进行评估之外,我们还应用我们的方法来发现新的实际错误。

总结

致谢

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月1日
下一篇 2020年5月1日

相关推荐