-
公开(公告)号:CN116662147A
公开(公告)日:2023-08-29
申请号:CN202210159364.9
申请日:2022-02-21
Applicant: 南京大学
IPC: G06F11/36 , G06F40/30 , G06F16/36 , G06F16/953
Abstract: 本发明提供一种基于蜕变测试的语义搜索引擎质量评估方法,包括下列步骤:1)从知识图谱三元组文件中提取有效信息生成原查询测试用例池;2)对原查询测试用例池进行筛选合并;3)设计蜕变规则,并选取原查询根据合适的蜕变规则通过蜕变生成新的关联查询;4)将原查询及其通过蜕变得到的关联查询输入搜索引擎,并收集它们的结果;5)发现潜在的缺陷。将新生成查询的结果与原查询的结果进行比较,如果两种结果间的关系与预期关系不相匹配,则该组查询将被报告为可能包含潜在的错误。本发明解决了目前缺乏针对语义搜索引擎对查询返回精确结果时测试精确性和准确性方法的问题,并且能够提供触发潜在缺陷的查询,进而帮助开发者进行测试和修复缺陷,提高软件的可维护性和鲁棒性,从而能更好地控制语义搜索引擎产品的质量。
-
公开(公告)号: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)对每个符号编码后的下游模块进行约束求解,如有解,则提示开发人员该模块可能受给定跨项目缺陷影响。本发明解决了目前存在的缺乏针对跨项目缺陷影响分析、无法提示下游项目受影响模块等问题,进而指导跨项目缺陷的修复方案设计,提高缺陷修复补丁的质量,从而能更好地控制和管理软件生态系统的健康发展。
-
公开(公告)号:CN109597747A
公开(公告)日:2019-04-09
申请号:CN201710932159.0
申请日:2017-09-30
Applicant: 南京大学
Abstract: 本发明提供一种基于多目标优化算法NSGA-II推荐跨项目关联缺陷报告的方法,主要包含以下步骤:1)获取与查询缺陷报告所在项目关联的其他项目,主要基于缺陷所在项目的信息以及项目参与人的信息;2)计算项目之间的关联度:主题相似度、项目重要程度、项目之间的距离,对项目的关联度排序;3)对于关联度较大的项目,计算其中的缺陷与查询缺陷报告之间的主题相似性以及将要修改的源代码文件之间的距离;4)根据缺陷报告的主题相似性、源文件距离、项目的关联度计算适应值函数;5)利用多目标优化算法NSGA-II产生相关联程度最大的跨项目缺陷报告。本发明主要解决目前缺乏对查询缺陷报告推荐相关联的跨缺陷报告问题,能够有效定位、修复跨项目缺陷,提高处理跨项目缺陷报告的效率。
-
-
-