首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种移动应用程序代码提交故障预测模型的可解释性方法_南通大学_202210038845.4 

申请/专利权人:南通大学

申请日:2022-01-13

公开(公告)日:2024-06-11

公开(公告)号:CN114880206B

主分类号:G06F11/36

分类号:G06F11/36;G06F8/71

优先权:

专利状态码:有效-授权

法律状态:2024.06.11#授权;2022.08.26#实质审查的生效;2022.08.09#公开

摘要:本发明提供了一种移动应用程序代码提交故障预测模型的可解释性方法,包括以下步骤:1通过挖掘版本控制系统,搜集来自移动应用程序项目内的代码提交,随后对代码提交进行度量和标注,形成数据集;2根据数据集,借助随机森林构建出移动应用程序代码提交故障预测模型;3当面对新的代码提交时,对该代码提交进行度量,然后输入到代码提交故障预测模型中,得到预测结果;4对局部可解释性技术LIME进行超参优化,使用超参优化的LIME方法ExplainApp生成该预测结果的解释。本发明的有益效果为:预测出新的代码提交是否会引入故障,同时可以给出相应的高质量解释,辅助开发人员完成后续故障的理解、定位和修复。

主权项:1.一种基于移动应用程序代码提交故障预测模型的可解释性方法,其特征在于,包括以下步骤:步骤一:通过挖掘版本控制系统,搜集来自移动应用程序项目内的代码提交,对代码提交首先从代码提交的分散程度、代码提交的修改量、代码提交的修改目的、代码提交的历史、代码提交相关开发人员的经验五个维度设计特征,并利用这些特征对搜集的代码提交进行度量,随后对代码提交进行标注,标记为引入故障的代码提交和未引入故障的代码提交,完成代码提交的度量和标记后,形成数据集D;步骤二:基于数据集D,借助随机森林构建出代码提交故障预测模型M;步骤三:当面对新的代码提交x时,采用步骤一中相同的特征对该代码提交进行度量,随后输入到代码提交故障预测模型M中,得到预测结果,检测该代码提交是否会引入故障;步骤四:使用超参优化的LIME方法生成该预测结果的解释,局部模型无关的可解释性方法LIME方法是针对测试实例的预测结果给出的解释,通过需要预测的代码提交x,随机生成围绕该代码提交x的n个相邻的虚拟实例;随后使用这n个虚拟实例,通过代码提交预测模型M得到预测结果,将n个虚拟实例和预测结果构成数据集Dlime;根据数据集Dlime构建局部回归模型ML,并基于局部回归模型ML的系数,识别相应特征对预测结果所做出的贡献,由于LIME方法存在超参,因此借助差分进化算法来寻找LIME方法最优超参的取值,其优化目标是构建局部回归模型ML的拟合优度;所述步骤四中使用超参优化算法来优化LIME算法的参数设置,通过差分进化算法寻找线性模型拟合优度最佳时生成实例数的值,其中目标函数是最大化局部回归模型的拟合优度R2,通过LIME工具包中的score函数获得模型的拟合优度,设置随机种子,使得具有相同虚拟实例数的模型,每次得到的拟合优度值都相同,通过给定一个代码提交实例x和代码提交故障预测模型M,对LIME进行差分进化具体包括如下步骤:4-1初始化种群,随机生成规模为size的初始种群,由于要寻找线性模型拟合优度最佳时生成实例数,种群中每个个体是提交实例x周围随机生成的实例数k,每个个体是1维的,则初始种群表示为S={k1,k2,k3,…,ksize},假设个体的上下边界分别为kmax和kmin,则个体按如下方式进行初始化:ki,t=kmin+rand0,1*kmax-kmin其中,i=1,2,···,size,t为迭代数,初始值为1,ki,t表示第t代第i个个体,rand0,1表示一个在区间0,1上服从均匀分布的随机数;4-2对于每个候选个体,使用LIME基于随机生成的虚拟实例和M模型的预测结果,构建出局部回归模型ML;4-3从种群中选择最优个体,其具有最优的回归模型的拟合优度;4-4基于该种群,使用缩放因子pr及交叉概率pc,通过变异、交叉和选择操作,生成新的种群;变异操作,使用的变异策略如下所示:vi,t=kr1,t+pr*kr2,t-kr3,t其中,kr1,t,kr2,t和kr3,t是第t次迭代中随机选取种群中三个不同的个体,vi,t是目标变异个体;r1,r2,r3∈{1,2,···,size}为互不相同的数,且与当前的目标索引i不同,因此size≥4;缩放因子pr在0,1之间,pr的值选择要适中,pr过小会降低算法的收敛速度,pr过大会造成种群不收敛;交叉操作,在变异操作之后,对第t代的种群{ki,t}和其变异中间体{vi,t}进行个体间的其中,交叉概率pc是区间0,1范围内的一个常数;选择操作,将试验个体ui,t和目标个体ki,t的目标函数值进行比较,选择更优的个体;比较两者的拟合优度值,选择拟合优度值较大的个体,选择操作的公式如下: 4-5重新执行程序,直到程序达到指定的迭代次数iter;4-6最终得出在所有迭代中产生最高的拟合优度和在最高拟合优度时模型所需的实例数kbest,将最佳实例数kbest应用到回归模型中,并基于该回归模型的系数生成对应的解释。

全文数据:

权利要求:

百度查询: 南通大学 一种移动应用程序代码提交故障预测模型的可解释性方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。