-
公开(公告)号:CN111694726B
公开(公告)日:2022-04-05
申请号:CN201910210830.X
申请日:2019-03-15
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明为一种基于类型标注的Python程序类型推导方法:首先对Python程序进行类型推导;然后对同样一部分源代码进行标注等级分析,使用ranking算法对变量进行标注价值排序;接着通过ranking算法推荐进行类型标注;最后通过增加这些类型标注再次进行类型推导,并多次迭代上述过程,类型推导‑>ranking排序‑>类型标注‑>类型推导‑>...;最后产生的所有静态类型信息可以被用来优化Python的解释运行以及帮助开发者理解Python源代码程序。
-
公开(公告)号:CN111694726A
公开(公告)日:2020-09-22
申请号:CN201910210830.X
申请日:2019-03-15
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明为一种基于类型标注的Python程序类型推导方法:首先对Python程序进行类型推导;然后对同样一部分源代码进行标注等级分析,使用ranking算法对变量进行标注价值排序;接着通过ranking算法推荐进行类型标注;最后通过增加这些类型标注再次进行类型推导,并多次迭代上述过程,类型推导->ranking排序->类型标注->类型推导->...;最后产生的所有静态类型信息可以被用来优化Python的解释运行以及帮助开发者理解Python源代码程序。
-
公开(公告)号:CN110781086B
公开(公告)日:2022-02-08
申请号:CN201911020242.6
申请日:2019-10-23
Applicant: 南京大学
Abstract: 本发明提供一种基于程序依赖关系和符号分析的跨项目缺陷影响分析方法,包括下列步骤:1)获取同一软件生态系统中不同项目、多个版本的程序源代码;2)从每个项目基础版本的程序源代码中抽取调用关系,构建生态系统基本依赖网络;3)从每个项目其它版本的程序源代码中获取代码变更,构建版本敏感的生态系统依赖网络;4)对于给定的跨项目缺陷,已知其上游出错方法,挑选候选下游模块;5)针对每个候选下游模块,进行代码预处理;6)对每个预处理后的候选下游模块,进行符号编码;7)对每个符号编码后的下游模块进行约束求解,如有解,则提示开发人员该模块可能受给定跨项目缺陷影响。本发明解决了目前存在的缺乏针对跨项目缺陷影响分析、无法提示下游项目受影响模块等问题,进而指导跨项目缺陷的修复方案设计,提高缺陷修复补丁的质量,从而能更好地控制和管理软件生态系统的健康发展。
-
公开(公告)号:CN110781086A
公开(公告)日:2020-02-11
申请号:CN201911020242.6
申请日:2019-10-23
Applicant: 南京大学
Abstract: 本发明提供一种基于程序依赖关系和符号分析的跨项目缺陷影响分析方法,包括下列步骤:1)获取同一软件生态系统中不同项目、多个版本的程序源代码;2)从每个项目基础版本的程序源代码中抽取调用关系,构建生态系统基本依赖网络;3)从每个项目其它版本的程序源代码中获取代码变更,构建版本敏感的生态系统依赖网络;4)对于给定的跨项目缺陷,已知其上游出错方法,挑选候选下游模块;5)针对每个候选下游模块,进行代码预处理;6)对每个预处理后的候选下游模块,进行符号编码;7)对每个符号编码后的下游模块进行约束求解,如有解,则提示开发人员该模块可能受给定跨项目缺陷影响。本发明解决了目前存在的缺乏针对跨项目缺陷影响分析、无法提示下游项目受影响模块等问题,进而指导跨项目缺陷的修复方案设计,提高缺陷修复补丁的质量,从而能更好地控制和管理软件生态系统的健康发展。
-
公开(公告)号:CN110399300B
公开(公告)日:2021-06-22
申请号:CN201910663726.6
申请日:2019-07-22
Applicant: 南京大学
Abstract: 本发明提供一种基于动态类型感知的Python软件模糊测试方法,包括下列步骤:1)从github获取开源Python软件项目的源程序代码;2)生成源程序代码对应的抽象语法树;3)从抽象语法树中识别并提取函数定义节点;4)根据函数定义节点的信息使用动态类型感知策略生成参数,并生成对应函数定义的测试用例集合;5)执行测试用例生成测试结果报告,根据测试报告的结果进行基于变异的模糊测试和提供潜在缺陷的测试用例。本发明解决了目前缺乏针对Python软件的模糊测试方法的问题,并且能够提供触发潜在缺陷的输入,进而帮助开发者进行调试和修复缺陷,提高软件的可维护性和鲁棒性,从而能更好地控制软件产品的质量。
-
公开(公告)号:CN110399300A
公开(公告)日:2019-11-01
申请号:CN201910663726.6
申请日:2019-07-22
Applicant: 南京大学
Abstract: 本发明提供一种基于动态类型感知的Python软件模糊测试方法,包括下列步骤:1)从github获取开源Python软件项目的源程序代码;2)生成源程序代码对应的抽象语法树;3)从抽象语法树中识别并提取函数定义节点;4)根据函数定义节点的信息使用动态类型感知策略生成参数,并生成对应函数定义的测试用例集合;5)执行测试用例生成测试结果报告,根据测试报告的结果进行基于变异的模糊测试和提供潜在缺陷的测试用例。本发明解决了目前缺乏针对Python软件的模糊测试方法的问题,并且能够提供触发潜在缺陷的输入,进而帮助开发者进行调试和修复缺陷,提高软件的可维护性和鲁棒性,从而能更好地控制软件产品的质量。
-
-
-
-
-