一种基于抽象语法树的Python程序类型缺陷检测方法

    公开(公告)号:CN108932192A

    公开(公告)日:2018-12-04

    申请号:CN201710376265.5

    申请日:2017-05-22

    Applicant: 南京大学

    Abstract: 本发明提供一种基于抽象语法树的Python程序类型缺陷检测方法,包括下列步骤:1)收集Python软件缺陷报告信息,提取缺陷标识符和缺陷错误类型;2)获取缺陷修复前后两个版本程序的源代码;3)生成两个版本源代码对应的抽象语法树,匹配获取变更函数结点并标记缺陷错误类型;4)根据变更函数结点上下文信息,生成缺陷代码的特征向量;5)利用机器学习技术,在缺陷代码特征向量上训练多分类模型;6)提示开发者在测试Python程序文件中可能出现的类型缺陷信息。本发明旨在解决目前存在的缺乏针对Python语言的类型缺陷分析、无法检测可能的缺陷错误类型等问题,进而指导软件质量的管理,提高软件的可维护性。

    一种基于抽象语法树的Python程序类型缺陷检测方法

    公开(公告)号:CN108932192B

    公开(公告)日:2020-01-14

    申请号:CN201710376265.5

    申请日:2017-05-22

    Applicant: 南京大学

    Abstract: 本发明提供一种基于抽象语法树的Python程序类型缺陷检测方法,包括下列步骤:1)收集Python软件缺陷报告信息,提取缺陷标识符和缺陷错误类型;2)获取缺陷修复前后两个版本程序的源代码;3)生成两个版本源代码对应的抽象语法树,匹配获取变更函数结点并标记缺陷错误类型;4)根据变更函数结点上下文信息,生成缺陷代码的特征向量;5)利用机器学习技术,在缺陷代码特征向量上训练多分类模型;6)提示开发者在测试Python程序文件中可能出现的类型缺陷信息。本发明旨在解决目前存在的缺乏针对Python语言的类型缺陷分析、无法检测可能的缺陷错误类型等问题,进而指导软件质量的管理,提高软件的可维护性。

Patent Agency Ranking