|
中山大学学报(自然科学版) 2017
面向Python程序的静态死锁检测方法的研究Keywords: Python程序,静态死锁检测,函数内联,函数摘要,Petri网 Abstract: 摘要 随着Python语言越来越广泛的应用,其死锁问题一直困扰着人们.现有的静态死锁检测方法为了兼容可扩展性而缺乏精确的路径敏感分析,从而产生很多不可达路径,导致高误报率.基于此,针对Python程序,提出一种基于函数内联和函数摘要的路径敏感的静态死锁检测方法.该方法首先获取Python程序的语法树,然后利用函数内联和函数摘要的分析方法构建每个函数的摘要并由此得到Python程序可达的并发路径.基于这些路径,该方法利用Petri网建模并找出其中的死锁.实验结果表明,本文提出的方法可以有效地检测Python 程序中的死锁,而且误报率为14.3%.此外,该方法的可扩展性好,在分析大型开源程序时,每一万行代码所需的时间开销在2.5分钟以内
|