引用本文:郝宗寅,鲁法明.Petri网的反向展开及其在程序数据竞争检测的应用.软件学报,2021,32(6):1612-1630
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览 2745次   下载 5902 本文二维码信息
码上扫一扫!
分享到: 微信 更多
Petri网的反向展开及其在程序数据竞争检测的应用
郝宗寅1,2, 鲁法明1
1.山东科技大学 计算机科学与工程学院, 山东 青岛 266590;2.厦门大学信息学院, 福建 厦门 361005
摘要:
展开技术借助分支进程可在一定程度上缓解Petri网性质分析中的状态爆炸问题.但展开网中仍然包含了系统的所有状态信息.某些应用问题仅需对系统特定状态的可覆盖性进行判定,以此为目标,有望缩减网系统展开的规模.为此,针对安全Petri网的可覆盖性判定问题提出了一种目标导向的反向展开算法,结合启发式技术缩减展开的规模,以此提高目标标识可覆盖性判定的效率.进而,将反向展开算法应用于并发程序的形式化验证,将并发程序的数据竞争检测问题转换为Petri网特定标识的可覆盖性判定问题.实验对比了正向展开与反向展开在Petri网可覆盖性判定问题上的效率,结果表明:当Petri网展开的正向分支较多时,反向展开相比正向展开具有更高的可覆盖性判定效率.最后,对影响反向展开效率的关键因素做了分析与总结.
关键词:  Petri网  可覆盖性判定  反向展开  启发式优化  数据竞争检测
DOI:10.13328/j.cnki.jos.006240
分类号:
基金项目:国家自然科学基金(61602279,61472229);国家重点研发计划(2016YFC0801406);山东省泰山学者工程专项基金(ts20190936);山东省高等学校青创科技支持计划(2019KJN024);山东省博士后创新专项基金(201603056);鲁渝科技协作计划(cstc2020jscx-lyjsAX0008);国家海洋局海洋遥测工程技术研究中心开放基金(2018002);山东科技大学领军人才与优秀科研创新团队项目(2015TDJH102)
Reverse Unfolding of Petri Nets and its Application in Program Data Race Detection
HAO Zong-Yin1,2, LU Fa-Ming1
1.College of Computer Science and Engineering, Shandong University of Science and Technology, Qingdao 266590, China;2.School of Informatics, Xiamen University, Xiamen 361005, China
Abstract:
Unfolding technology can partially alleviate the state explosion problem in Petri net through branching processes. However, an unfolding still contains all states of a system. Some practical problems only need to determine the coverability of a specific state, which is expected to reduce the scale of unfolding net. This study proposes a target-oriented reverse unfolding algorithm for the coverability problem of 1-safe Petri nets, which combines heuristic technology to reduce the scale of unfolding nets, thereby improving the efficiency of coverability determination. Furthermore, the reverse unfolding technology is applied to the formal verification of concurrent programs, and the data race detection problem is converted into the coverability problem of a specific state in 1-safe Petri nets. The experiment compares the efficiency between forward unfolding and reverse unfolding in the coverability problem of Petri net. The results show that when the Petri net has more forward branches than backward branches, reverse unfolding is more efficient than forward unfolding. Finally, the key factors influencing the efficiency of reverse unfolding are analyzed.
Key words:  Petri net  coverability determination  reverse unfolding  heuristic optimization  data race detection

引用本文:
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览次   下载  
分享到: 微信 更多
摘要:
关键词:  
DOI:
分类号:
基金项目:
Abstract:
Key words: