南京邮电大学王子元获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网获悉南京邮电大学申请的专利一种针对CPython和PyPy的解释器缺陷自动分类方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN112799960B 。
龙图腾网通过国家知识产权局官网在2025-07-08发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202110213194.3,技术领域涉及:G06F11/362;该发明授权一种针对CPython和PyPy的解释器缺陷自动分类方法是由王子元;孙爱月设计研发完成,并于2021-02-25向国家知识产权局提交的专利申请。
本一种针对CPython和PyPy的解释器缺陷自动分类方法在说明书摘要公布了:本发明公开了一种针对CPython和PyPy两个解释器中的缺陷的自动分类方法,包括以下步骤:1基于语法成分从issue报告的标题提取关键词;2结合量化分析和手动分类实验结果补充标签,弥补语法成分分析提取的不足,提升缺陷记录的检索效率;3基于代码和文本相似性,结合向量空间模型VSM,将issue推荐到相应类别。本发明的方法的难点在于通过提取issue报告中的关键词自动生成缺陷记录标签。利用混合技术,本发明填补了弥补解释器缺陷自动分类方向的空白,为Python解释器的开发和维护人员、Python应用程序的开发人员以及相关领域的研究人员提供一定的帮助。
本发明授权一种针对CPython和PyPy的解释器缺陷自动分类方法在权利要求书中公布了:1.一种针对CPython和PyPy两个解释器中的缺陷的自动分类方法,其主要步骤如下: 步骤1、基于语法成分从issue报告的标题提取关键词; 步骤2、结合量化分析和手动分类实验结果补充标签; 步骤3、基于代码和文本相似性,将issue推荐到相应类别; 进一步的,所述步骤1的具体步骤如下: 步骤1.1、首先获取CPython和PyPy的issue报告链接,并提取报告中关键信息,包括编号“ID”、标题“title”、组件“comp”、内容“msg”、拉请求“PR”、源文件路径“path”; 步骤1.2、提出记录缺陷的标签数据元模型,该模型规定了记录缺陷的标签具有的属性集合,集合包括以下几个属性: ConCondition:该属性描述了解释器在什么情况下会发生故障; SubSubject:该属性描述缺陷了解释器中的故障发生在什么地方; PhePhenomena:该属性描述缺陷了解释器中具体发生了什么故障; Fix:该属性描述了解释器中缺陷是如何被修复的; 步骤1.3、根据特定的句法规则,将issue报告标题分为两种不同的句式,从并从中抽取关键词及其维度,规则如下: 陈述句的文本提取规则:陈述句句式的issue标题,其主语、宾语和条件从句都有着固定的格式,分别对应故障发生的主体Sub、发生的具体故障Phe和故障发生的条件Con;根据这一书写格式提取“Sub+Phe+Con”; 祈使句的文本提取规则:祈使句句式的issue标题,没有主语,只有谓语动词和直接宾语,都是为了表达修复某个故障采用的方法Fix,根据这一书写格式提取“Fix+Fix”; 步骤1.4、依据这些规则,就能从issue的标题中抽取关键词当做标签,并且填充到对应的标签属性中,关键词提取算法采用TF-IDF度量模型,将i个issue报告记为Di,使用一组组带权重的单词来表示文档Di,记为SEi=Wi,1,Wi,2,Wi,3…Wi,v,这里权重Wi,j表示文档Di中第j个单词的TF-IDF分数,具计算如下所示: 进一步的,所述步骤2的具体步骤如下: 步骤2.1、通过量化分析缺陷在组件中的分布情况,在CPython和PyPy中分别得到出现缺陷频率较高的15个组件,CPython中有LibraryLib、Documentation、InterpreterCore,PyPy中有PyPy2runningPython3.x、RPython,如果报告中出现这些组件,则将其填充到标签属性表中; 步骤2.2、通过量化分析缺陷在源文件中的分布情况,在CPython和PyPy中分别得到出现缺陷频率较高的15个源文件,CPython中包括Modulesposixmodule.c、Objectsunicodeobject.c、Pythonceval.c,PyPy中包括PyPymodulecpyexttypeobject.py、PyPymodulecpyextapi.py,如果缺陷修改源文件路径path中出现这些文件,则将其填充到标签属性表中; 步骤2.3、手动分析缺陷的根本原因,得到分类标准,于是,在issue的msg匹配分类标准关键词,PR字段提取缺陷修复时更改的代码行作为Fix属性,并将提取的关键词和属性填充到其标签属性表中,步骤2的实施能弥补语法成分分析提取的不足,提升缺陷记录的检索效率; 进一步的,所述步骤3的具体步骤如下: 步骤3.1、度量某个issue标签属性表与手动分类数据集的文本相似性度量,用户基于步骤1和步骤2提取的关键词向量,结合向量空间模型VSM,将两个数据集中的属性分为代码属性DC和非代码属性DD; 步骤3.2、在通过上述步骤将非代码属性DC表示为单词向量后,首先令接着用两个向SEm和SEn之间的余弦相似度来计算两个文档的相似性SimDD: 步骤3.3、度量代码片段DC1和DC1的相似性,首先要分别抽取代码片段中的变量类型名,形成字符串集合T1和T2,其次抽取调用方法名,形成集合M1和M2,最终代码相似性度量工作,就转变成度量集合T1和T2以及M1和M2的相似性; 度量集合相似性采用的是杰拉德系数,即变量类型相似系数为: 方法调用相似系数为: 完整代码片段的相似性计算公式如下: simDC=β·simT+1-β·simM 步骤3.4、在得到文本相似性和代码相似性后,计算整体相似性,每个issue报告标签向量与手动分类样本向量集合的相似度记为scoreID=sim1,sim2,sim3…simn,从该集合中选出最大值simIDmax,并找到其对应样本的手动分类标签tag推荐给该issue报告,其中整体相似性的计算公式如下: sim=λ·simDD+1-λ·simDC。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人南京邮电大学,其通讯地址为:210023 江苏省南京市栖霞区文苑路9号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。