[发明专利]一种结合用户反馈和代码依赖的软件可追踪生成方法有效
申请号: | 201810184034.9 | 申请日: | 2018-03-06 |
公开(公告)号: | CN108459965B | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 匡宏宇;胡昊;吕建;张宗飞 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 李玉平 |
地址: | 210008 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 结合 用户 反馈 代码 依赖 软件 追踪 生成 方法 | ||
本发明公开了一种结合用户反馈和代码依赖的软件可追踪生成方法,该方法包括:步骤1、获得目标软件中存在的代码依赖;步骤2、计算代码依赖紧密度,设定紧密度阈值生成代码依赖域;步骤3、基于信息检索方法,产生需求到代码的初始候选列表;步骤4、根据用户反馈和代码依赖优化候选列表。本发明通过结合用户反馈和代码依赖信息,弥补了信息检索方法存在的单词失配问题。本发明只需用户判断少量候选线索的相关性。相对于传统信息检索方法,本发明生成的候选列表准确率和召回率均有大幅度提升。
技术领域
本发明涉及一种结合用户反馈和代码依赖的软件可追踪生成方法,属于计算机软件维护技术领域,能够高效、自动化且准确地找出软件实体之间的追踪关系。
背景技术
在软件维护过程中,软件实体之间的追踪线索是一项宝贵的资源。软件实体之间的追踪线索能够提供高层软件实体例如用例和底层软件实体例如源代码之间的追踪关系。但是获取软件实体之间的追踪线索需要耗费大量时间和精力。软件工程师需要阅读并且理解不同的软件实体,才能判断不同的软件实体之间是否存在追踪关系。因此出现了一些半自动化的工具来提高获得追踪线索的效率。
目前,基于信息检索的软件可追踪性生成方法,通过计算两个需求实体之间的文本相似度,按照文本相似度自大到小进行排序。但是由于信息检索的方法存在词汇失配的问题,该方法严重依赖于软件实体的文本语料质量;为了解决词汇失配的问题,基于信息检索方法,当前存在一种利用代码实体中代码依赖信息的方法,但是该方法严重依赖信息检索方法本身的效果。
发明内容
发明目的:针对现有方法的不足,本发明的目的是提供一种结合用户反馈和代码依赖的软件可追踪生成方法。与传统信息检索的方法相比,本发明生成的候选线索排序表,准确率和召回率均得到显著提升;与普通的用户反馈方法相比,本发明不仅减少了用户参与,准确率和召回率也得到提升。
技术方案:由于某一特定需求的实现是由分布在源程序中的多个代码元素协作完成的,相关的多个代码元素会形成代码域。当用户判断代码域中的某一个代码元素与需求相关时,进而就可以得到其它元素也和需求具备相关性。本发明的一种结合用户反馈和代码依赖的软件可追踪生成方法,通过利用代码域减少用户参与,提高精度。其包括以下步骤:
步骤1,在目标系统中插桩代码依赖捕获工具,运行目标系统,得到目标系统存在的代码依赖,其中代码依赖包括调用依赖和数据依赖。
步骤2,计算代码依赖紧密度,设置紧密度阈值,只保留紧密度大于阈值的代码依赖得到调用依赖域和数据依赖域。
步骤3,基于信息检索方法计算需求和代码元素之间的文本相似度并自大到小排序。
步骤4,根据用户对特定未判断代码域的反馈结果和软件本身的代码依赖信息,优化初始候选线索排序表。
进一步地,所述步骤1包含以下步骤:
步骤1.1,构造代码依赖捕获工具,使用标准JDK所提供的JVMTI接口,监听Java虚拟机中产生的4个JVMTI事件,分别为类成员读取事件、类成员修改事件、函数进入事件以及函数返回事件;注册这4个事件的回调函数,在回调函数中将由事件引起的函数进入、返回记录和数据访问记录保存到本地数据库中;
步骤1.2,根据步骤1.1中获取的记录数据,建立函数之间的调用依赖和数据依赖关系;
步骤1.3,将函数之间的代码依赖聚合成类之间的代码依赖,一个类所对应的代码依赖由该类中所有函数所对应的代码依赖组合而成。代码依赖图由V和E构成,其中V为顶点集合,V中的元素v表示一个类;E为边的集合,E中的元素e=source,target,source,target∈V,对于调用依赖图表示source中发生了对target的调用,对于数据依赖表示source、target访问同一个数据。
进一步地,所述步骤2包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810184034.9/2.html,转载请声明来源钻瓜专利网。