国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:王颖,王冰青,关永,李晓娟,王瑞
单位:王颖,首都师范大学 信息工程学院, 北京 100048;轻型工业机器人与安全验证北京市重点实验室(首都师范大学), 北京 10004811,王冰青,首都师范大学 信息工程学院, 北京 100048;轻型工业机器人与安全验证北京市重点实验室(首都师范大学), 北京 10004802,关永,首都师范大学 信息工程学院, 北京 100048;电子系统可靠性与数理交叉学科国家国际科技合作示范型基地(首都师范大学), 北京 10004803,李晓娟,首都师范大学 信息工程学院, 北京 100048;轻型工业机器人与安全验证北京市重点实验室(首都师范大学), 北京 10004804,王瑞,首都师范大学 信息工程学院, 北京 100048;轻型工业机器人与安全验证北京市重点实验室(首都师范大学), 北京 10004805
关键词:差分模糊测试;机器人操作系统;功能包;漏洞检测;可靠性
基金:国家重点研发计划(2019YFB1309900);国家自然科学基金(61877040);首都师范大学交叉研究院项目(19530012005);上海控安开放课题
机器人操作系统(robot operating system,简称ROS)是一种广泛应用于机器人开发的开源系统,它可以为开发者提供硬件抽象、设备驱动、库函数、可视化、消息传递和软件包管理等诸多功能,应用前景广阔.ROS集成了可以实现不同功能的功能包,例如定位绘图、行动规划、感知、模拟等等,但其中可能存在一些漏洞,破坏整个机器人系统的安全性和可靠性.提出了一种差分模糊测试方法对ROS不同版本的功能包进行测试,找出其中的漏洞.该方法包括测试用例生成和差分模糊测试执行两个模块:首先,对于输入文件进行加载、处理,并基于策略生成的方法生成测试用例文件;其次,节点间使用话题通信机制实现通信,使用上一模块生成的测试用例文件作为统一的模糊输入,对ROS不同版本的功能包进行差分模糊测试;接着,对测试结果中的不一致输出进行差异计算并评估,符合评估指标的种子将被保留并反馈给用例生成模块循环生成测试用例,有效提高了种子质量及代码覆盖率;最后分析不一致输出原因,找出漏洞.将该方法应用在机器人坐标转换的实验中,实现对不同参考系下坐标转换的功能包TF和TF2的测试.最终的实验结果表明:与TF2相比,TF在功能实现上更加准确.TF2实现坐标旋转变换的函数存在漏洞.
来源:2021年第6期
《软件学报》期刊编辑部