基于 Oracle 的系统识别方法来进行 Control-CPS 软件缺陷定位
sinye56 2024-10-09 19:34 10 浏览 0 评论
摘要
因为 CPS 系统错误可能导致重大故障,甚至造成人身伤亡,因此 Control-CPS 软件故障定位至关重要。为了定位控件 CPS 中的错误,缺陷工具通常需要许多标记(“正确” /“错误”)的源代码执行跟踪作为输入。要判断这些跟踪的正确性,我们必须判断相应的 Control-CPS 物理跟踪的正确性。但是,与离散输出不同,正确与错误的物理跟踪之间的界限通常很模糊。因此,判断物理跟踪正确性的机制(即 Oracle)成为一项重大挑战。到目前为止,人工预测仍被广泛使用,其质量在很大程度上取决于人类专家的专业知识和可用性。本文提出了一种基于广泛采用的自回归系统识别(AR-SI)的 Oracle 方法。由于在控制黑箱物理系统方面取得了成功,我们对 AR-SI 进行了改编,以将越野车控件 CPS 识别为黑箱。我们以此识别结果作为预言,以判断 Control-CPS 的行为,并提出一种方法来为 Control-CPS 调试准备跟踪。对注入了实际和人工设置错误的经典控制 CPS 的综合评估表明,我们提出的方法在缺陷定位准确性(召回率)和潜伏期以及 oracle 假阳性/假阴性的概率方面明显优于人工 oracle 方法。我们的方法还有助于发现消费级控件 CPS 中的真实存在的错误。
研究介绍
由于计算机和物理系统的必然融合,控制网络物理系统(CPS)(又称控制 CPS)越来越流行。典型的控制 CPS 包括航空电子设备,车辆,机器人等。许多控制 CPS 是安全攸关的,因此故障可能导致重大事故,甚至造成人身伤亡。当今如何帮助消除这些网络子系统中的软件故障正成为一个更大的挑战,这也是本文的重点。消除错误(也称为“调试”)的关键步骤是在源代码中找到错误,也就是软件缺陷定位(SFL)。随着软件复杂性的提高,手动 SFL 不再足够。近年来开发了许多自动 SFL 工具。根据程序范围,统计信息,机器学习,数据挖掘,程序切片,程序状态,模型等,可以将相应的工具分为 8 个系列。 尤其是随着大数据技术的兴起,许多现代主流 SFL 工具以及所调查的所有工具中有 38%以上需要大量标记(如“ 正确”或“不正确”)源代码执行跟踪(也称为“代码跟踪”)。 手动标记这么多的代码跟踪不再可行。 这导致迫切需要自动判断机制(即 oracle)来进行标记。然而,如何设计一个 oracle 和相应的代码跟踪准备方法是一个众所周知的难题:即所谓的 oracle 问题。
图 1:Control-CPS oracle 问题很难解决,例如 在自动驾驶仪中,如何分辨出正确的物理轨迹?、
本文主要贡献:
1)我们为控制 CPS 软件缺陷定位提出了一个基于 AR-SI 的 Oracle。
2)我们提出了一种相应的代码跟踪准备方法,该方法可以确定性地自动运行。
3)我们将我们提出的方法与人工 Oracle 方法的主流实践进行比较。对注入了实际和人工设置错误的经典控制 CPS 的综合评估表明,我们提出的方法在缺陷定位准确性(召回率)和潜伏期以及 oracle 假阳性/假阴性的概率方面明显优于人工 oracle 方法。我们的方法还有助于发现消费级控件 CPS 中的真实存在的错误。
系统架构和假定:
图 2:一个典型的 Control-CPS 架构
在本文中,我们仅关注符合以下假设的控制 CPS:
- Y(t)是连续且可微的,频率分量上限
- Δ<=
方法:
由此数学基础得到两点启发,最终提出代码跟踪准备方法,我们提出的方法主要服务于软件缺陷定位工具的三个主流系列:程序频谱,统计数据和机器学习。然后对提出的方法进行评估,该评估回答了以下研究问题:1.我们提出的方法如何对软件缺陷定位的质量做出影响的。2.我们提出的方法如何影响原始 Oracle 质量的。我们将在 ArduPilot 和 IP+CV 控制 CPS 测试台上进行评估,这些测试台上有来自真实或人工注入的各种错误,以回答上述研究问题。
经过评估后对研究问题的回答:
Q1:与人工 Oracle 方法相比,我们提出的方法显着提高了 TA 和 CR 软件缺陷定位的质量(在准确性(召回率)和延迟方面),改善幅度为中到大。
Q2:与人工 Oracle 相比,我们提出的方法显着提高了 Oracle 的原始质量(就假阳性/阴性率而言),改善幅度很大。
除了对注入的错误进行评估之外,我们还应用我们的方法来发现新的实际错误。
总结
在本文中,我们提出了基于 AR-SI 的 oracle 和用于控制 CPS 软件缺陷定位(SFL)的相应代码跟踪方法。 我们提出的方法是确定的,并可以自动运行。 我们评估了经典的控制 CPS 测试平台,该测试平台带有注入的真实和人工添加错误。 评估结果表明,我们提出的方法明显优于人工 Oracle 方法,在软件缺陷定位准确性(召回率)和等待时间以及 Oralce 错误率/阴性率方面实现了中到大型的提高。 使用我们的方法,我们还可以在消费者级控件 CPS 中发现了一个新的错误。
致谢
本文由南京大学软件学院 2020 级硕士郭安翻译转述。
相关推荐
- 6个接私活的网站,你有技术就有钱
-
如果觉得有帮助,还请大家帮忙多多转发,点个关注作者:发哥链接:GitHubDaily本篇文章会向大家推荐国内外几个接外包比较靠谱的平台,主旨是贵精不贵多。因此,像「猪x戒」这种会让程序员自贬身价,扰乱...
- Java开源可商用的CMS建站系统_java建站源码
-
Java研发的CMS内容管理系统具有许多优势和特点,包括以下几个方面:跨平台性:Java是一种跨平台的编程语言,可以在不同的操作系统上运行,包括Windows、Linux、Mac等。这意味着Java...
- SEO新手建站必看"干货"优质空间和功能选择技巧!
-
一.空间的分类服务器:远程的高级大型计算机。vps:虚拟服务器。虚拟空间:也称虚拟主机云主机:是在一组集群主机上虚拟出多个类似独立主机的部分,集群中每个主机上都有云主机的一个镜像,从而大大提高了虚拟主...
- 千字长文教你使用 宝塔面板 快速搭建网站
-
本文将教大家使用宝塔面板快速搭建网站,云服务器购买以及域名注册部分请自行上网搜索了解,亦可留言联系小编进行咨询。如果是和下方一样本地搭建演示的话,则不需要付费购买域名和主机。宝塔面板的是...
- BlueHost香港虚拟主机建站的5个优点
-
应该是从2006年左右开始,如果我们建站选择国内的主机需要备案手续,而且比较繁琐,且根据各地的不同政策还需要到接入点拍照登记个人信息等,一来比较繁琐,二来我们担心万一网站可能存在的信息问题导致不必要的...
- 10款好用的Linux服务器网站管理面板推荐
-
如今在建站时,很多人都会使用管理面板来辅助建站,因为相对于手动安装软件,面板更加简单而且高效,即使新手也能很快学会搭建网站,在本文中我们来推荐几款好用的网站管理面板宝塔面板宝塔面板是一款简单好用的网站...
- 小白拥有一台云服务器到底能干些什么?成就感爆棚的简单方案!
-
?云服务器是什么?云服务器(比如阿里云、腾讯云等)是提供给用户的一种虚拟服务器资源,你可以把它看作一台“rent的电脑”,只需要支付少量费用就可以拥有一个功能强大的网络设备。对于小白来说,拥有一...
- 苹果CMS,苹果CMS采集插件,苹果CMS快速建站(图文教程)
-
苹果CMS,有着强大的管理功能,管理后台界面大方、操作简单、功能齐全、模块众多、双端管理。苹果CMS加上丰富的系统标签,系统内置了丰富的cms标签并支持thinkphp框架标签完美融合,可以调取系统内...
- 新手搭建网站、小程序、APP等系统,如何选择服务器?
-
今天和小蔡和大家说说,新手搭建网站,如何选择服务器?废话不多说,直接来干货。服务器是存放网站源代码的容器,也是运行网站程序的工具,所以是不可或缺的。新手刚接触搭建网站,若不知道怎么去选择一台适合自己...
- 在海外VPS服务器(Hostinger)上配置宝塔面板的操作步骤
-
不得不说,宝塔面板是真的好用啊~用上就放不下了,一些海外的免费开源的服务器集成面板(比如CloudPanel)我也用了,不喜欢,真的不如宝塔面板方便耐用。今天聊一下在海外服务器(也包括国内服务器,没有...
- 干货盘点:每个wordpress站长都推荐完成的60个任务清单
-
构建和运营wordpress网站包含了很多重要任务,遗漏哪一方面都可能造成或大或小的不良后果,因此我们特别整理了这个任务清单,为你查漏补缺,希望能对您现在运营或者即将开始构建的wordpress网站有...
- 为什么站长喜欢选择BlueHost主机建站
-
BlueHost正式成立于2003年,从事主机(虚拟主机)业务至今已经将近十余年,无论从口碑还是用户的评价,我们基本很少看到关于Bluehost主机产品和商家负面的评论信息。从2014年开始,Blue...
- 自助建站时代来临 半小时成建站达人
-
“H5”意为第五代HTML,即第五代网页编写语言。自从1991年第一代HTML开始研发以来,网页编写、网站建设一直都属于高端技术行业,网站建设人员都是一些专业型人才,这也意味着网站的建设和维护都需要不...
- 现代化、开源的 Linux 服务器运维管理面板
-
1Panel是一个现代化、开源的Linux服务器运维管理面板。1Panel的功能和优势包括:快速建站:深度集成Wordpress和Halo,域名绑定、SSL证书配置等一键搞定;高效管理...
- [1Panel]开源,现代化,新一代的 Linux 服务器运维管理面板
-
测评介绍本期测评试用一下1Panel这款面板。1Panel是国内飞致云旗下开源产品。整个界面简洁清爽,后端使用GO开发,前端使用VUE的Element-Plus作为UI框架,整个面板的管理都是基于do...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle忘记用户名密码 (59)
- oracle11gr2安装教程 (55)
- mybatis调用oracle存储过程 (67)
- oracle spool的用法 (57)
- oracle asm 磁盘管理 (67)
- 前端 设计模式 (64)
- 前端面试vue (56)
- linux格式化 (55)
- linux图形界面 (62)
- linux文件压缩 (75)
- Linux设置权限 (53)
- linux服务器配置 (62)
- mysql安装linux (71)
- linux启动命令 (59)
- 查看linux磁盘 (72)
- linux用户组 (74)
- linux多线程 (70)
- linux设备驱动 (53)
- linux自启动 (59)
- linux网络命令 (55)
- linux传文件 (60)
- linux打包文件 (58)
- linux查看数据库 (61)
- linux获取ip (64)
- linux进程通信 (63)