[发明专利]一种移动应用程序代码提交故障预测模型的可解释性方法在审
申请号: | 202210038845.4 | 申请日: | 2022-01-13 |
公开(公告)号: | CN114880206A | 公开(公告)日: | 2022-08-09 |
发明(设计)人: | 陈翔;胡新宇;翟瀚丰;高朝阳;夏鸿崚;顾亚锋;杨少宇 | 申请(专利权)人: | 南通大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/71 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 张俊俊 |
地址: | 226019 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 移动 应用程序 代码 提交 故障 预测 模型 解释性 方法 | ||
1.一种基于移动应用程序代码提交故障预测模型的可解释性方法,其特征在于,包括以下步骤:
步骤一:通过挖掘版本控制系统,搜集来自移动应用程序项目内的代码提交,对代码提交首先从代码提交的分散程度、代码提交的修改量、代码提交的修改目的、代码提交的历史、代码提交相关开发人员的经验五个维度设计特征,并利用这些特征对搜集的代码提交进行度量,随后对代码提交进行标注,标记为引入故障的代码提交和未引入故障的代码提交,完成代码提交的度量和标记后,形成数据集D;
步骤二:基于数据集D,借助随机森林构建出代码提交故障预测模型M;
步骤三:当面对新的代码提交x时,采用步骤一中相同的特征对该代码提交进行度量,随后输入到代码提交故障预测模型M中,得到预测结果,检测该代码提交是否会引入故障;
步骤四:使用超参优化的LIME方法生成该预测结果的解释,局部模型无关的可解释性方法LIME方法是针对测试实例的预测结果给出的解释,通过需要预测的代码提交x,随机生成围绕该代码提交x的n个相邻的虚拟实例;随后使用这n个虚拟实例,通过代码提交预测模型M得到预测结果,将n个虚拟实例和预测结果构成数据集Dlime;根据数据集Dlime构建局部回归模型ML,并基于局部回归模型ML的系数,识别相应特征对预测结果所做出的贡献,由于LIME方法存在超参,因此借助差分进化算法来寻找LIME方法该最优超参的取值,其优化目标是构建局部回归模型ML的拟合优度。
2.根据权利要求1所述的移动应用程序代码提交故障预测模型的可解释性方法,其特征在于,所述步骤四中使用超参优化算法来优化LIME算法的参数设置,通过差分进化算法寻找线性模型拟合优度最佳时生成实例数的值,其中目标函数是最大化局部回归模型的拟合优度(R2),通过LIME工具包中的score()函数获得模型的拟合优度,设置随机种子,使得具有相同虚拟实例数的模型,每次得到的拟合优度值都相同,通过给定一个代码提交实例x和代码提交故障预测模型M,对LIME进行差分进化具体包括如下步骤:
(4-1)初始化种群,随机生成规模为size的初始种群,由于要寻找线性模型拟合优度最佳时生成实例数,种群中每个个体是提交实例x周围随机生成的实例数k,每个个体是1维的,则初始种群可表示为S={k1,k2,k3,…,ksize},假设个体的上下边界分别为kmax和kmin,则个体按如下方式进行初始化:
ki,t=kmin+rand(0,1)*(kmax-kmin)
其中,i=1,2,···,size,t为迭代数,初始值为1,ki,t表示第t代第i个个体,rand(0,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应用到回归模型中,并基于该回归模型的系数生成对应的解释。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南通大学,未经南通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210038845.4/1.html,转载请声明来源钻瓜专利网。