首页 | 官方网站   微博 | 高级检索  
     

基于Petri网展开的多线程程序数据竞争检测与重演
引用本文:鲁法明,黄莹,曾庆田,包云霞,唐梦凡.基于Petri网展开的多线程程序数据竞争检测与重演[J].软件学报,2023,34(8):3726-3744.
作者姓名:鲁法明  黄莹  曾庆田  包云霞  唐梦凡
作者单位:山东科技大学 计算机科学与工程学院, 山东 青岛 266590;山东科技大学 计算机科学与工程学院, 山东 青岛 266590;中国科学院 深圳先进技术研究院, 广东 深圳 518055
基金项目:国家自然科学基金(61602279);山东省泰山学者工程专项基金(ts20190936);山东省高等学校青创科技支持计划(2019KJN024);山东省博士后创新专项基金(201603056);国家海洋局海洋遥测工程技术研究中心开放基金(2018002);山东科技大学教学名师培育计划(MS20211102)
摘    要:数据竞争是多线程程序的常见漏洞之一,传统的数据竞争分析方法在查全率和准确率方面难以两全,而且所生成检测报告难以定位漏洞的根源.鉴于Petri网在并发系统建模和分析方面具有行为描述精确、分析工具丰富的优点,提出一种基于Petri网展开的新型数据竞争检测方法.首先,对程序的某一运行轨迹进行分析和挖掘,构建程序的一个Petri网模型,它由单一轨迹挖掘得到,却可隐含程序的多个不同运行轨迹,由此可在保证效率的同时降低传统动态分析方法的漏报率;其次,提出基于Petri网展开的潜在数据竞争检测方法,相比静态分析方法在有效性上有较大提升,而且能明确给出数据竞争的产生路径;最后,对上一阶段检测到的潜在数据竞争,给出基于CalFuzzer平台的潜在死锁重演调度方法,可剔除误报,保证数据竞争检测结果的真实性.开发相应的原型系统,结合公开的程序实例验证了所提方法的有效性.

关 键 词:数据竞争  Petri网  网展开  动态程序分析
收稿时间:2021/9/5 0:00:00
修稿时间:2021/10/14 0:00:00

Data Race Detection and Replay of Multi-threaded Programs Based on Petri Net Unfolding
LU Fa-Ming,HUANG Ying,ZENG Qing-Tian,BAO Yun-Xi,TANG Meng-Fan.Data Race Detection and Replay of Multi-threaded Programs Based on Petri Net Unfolding[J].Journal of Software,2023,34(8):3726-3744.
Authors:LU Fa-Ming  HUANG Ying  ZENG Qing-Tian  BAO Yun-Xi  TANG Meng-Fan
Affiliation:College of Computer Science and Engineering, Shandong University of Science and Technology, Qingdao 266590, China;College of Computer Science and Engineering, Shandong University of Science and Technology, Qingdao 266590, China;Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences, Shenzhen 518055, China
Abstract:
Keywords:data race  Petri net  net unfolding  dynamic program analysis
点击此处可从《软件学报》浏览原始摘要信息
点击此处可从《软件学报》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号