全网唯一标准王
(19)中华 人民共和国 国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202111491975.5 (22)申请日 2021.12.08 (71)申请人 杭州电子科技大 学 地址 310018 浙江省杭州市下沙高教园区2 号大街 (72)发明人 俞东进 叶佳萍 陈信 陈宇廷  翁乐辉  (74)专利代理 机构 杭州君度专利代理事务所 (特殊普通 合伙) 33240 代理人 朱月芬 (51)Int.Cl. G06Q 10/04(2012.01) G06F 8/70(2018.01) G06N 20/00(2019.01) (54)发明名称 一种基于多层迭代的软件维护规模预测方 法 (57)摘要 本发明公开了一种基于多层迭代的软件维 护规模预测方法, 首先进行数据获取: 获取一个 现有公开软件系统中所有可用的类, 记为训练数 据集, 然后度量因子选择: 获取训练数据集中的 各类的原始度量值; 采样度量归一化处理训练数 据集, 再进行训练数据采样: 将归一化后的训练 数据集分为验证集和训练集; 之后构建并训练多 层迭代的预测模 型: 最后通过训练好的多层迭代 的预测模型完成软件维护规模的预测。 本发明通 过设计多层迭代模型不断排除预测效果不好的 中间层模型, 最终获得比较精确的软件维护规模 的预测模型。 使用本发明提出的方法预测软件维 护规模, 最终得到了较好结果, 能够准确地预测 软件的维护规模。 权利要求书3页 说明书7页 附图3页 CN 114154730 A 2022.03.08 CN 114154730 A 1.一种基于多层迭代的软件维护规模预测方法, 其特 征在于, 包括如下步骤: S1.数据获取: 获取一个现有公开软件系统中所有可用的类, 记为训练数据集TR; S2.度量因子 选择: 获取训练数据集TR中的各类的原 始度量值, S3.度量归一 化处理: S4.训练数据采样: 将归一化后的训练数据集LM ′train的数据随机均分为10份, 取其中1 份作为验证集 剩余9份作为训练集 S5.构建并训练多层迭代的预测模型: 构建基于GMDH方法的多层迭代的预测模型, 在训练预测模型的过程中将其每一层的输 出通过择优后, 作为下一层的输入, 不断迭代, 根据终止准则停止训练, 得到最终训练好的 预测模型; S6.通过训练好的多层迭代的预测模型完成软件维护规模的预测。 2.根据权利要求1所述的一种基于多层迭代的软件维护规模预测方法, 其特征在于, 度 量包括: WMC, NOC, LCOM, DIT, RFC, MPC, NOM, DAC, SIZE1, SIZE2, 并选择各类不同版本之间的 代码修改行数CHANGE(包括增加、 删除和更改的行数)作为软件维护规模的指标, 其中各个 度量含义如下: WMC: 类中所有方法的圈 复杂度总和; NOC: 类直接 子类的数量; LCOM: 类中不相交的方法集数量; DIT: 类在继承层次结构中的位置; RFC: 类方法数与类调用方法数之和; MPC: 类中定义的方法被其 他类调用的次数; NOM: 类中方法的数量; DAC: 类中定义的抽象数据类型 数; SIZE1: 类中纯代码的行 数; SIZE2: 类中属性数和方法数的总和; CHANGE: 类两个版本之间更改代码行 数, 包括新增、 删除和修改的代码行 数; 记训练数据集TR的类度量集合LMtrain={M1, M2, ..., Ml, ..., Mn}, n代表类的数量, Ml=< WMC, NOC, LCOM, DIT, RFC, MPC, NOM, DAC, SIZE1, SIZE2, C HANGE>。 3.根据权利要求2所述的一种基于多层迭代的软件维护规模预测方法, 其特征在于, S3 具体方法如下: 对训练数据集TR的类度量集合LMtrain进行归一化处理, 得到归一化后的训练数据集 LM′train=[M1′, M2′, ..., Ml′, ..., Mn′], 其中 不失一般性, 记 是度量值xj归一化后的值, 归一 化处理的公式如下: 其中xj代表原始度量值, xmax、 xmin分别是xj对应的LMtrain中该类度量值中的最大值和最权 利 要 求 书 1/3 页 2 CN 114154730 A 2小值。 4.根据权利要求3所述的一种基于多层迭代的软件维护规模预测方法, 其特征在于, S5 具体步骤如下: S5‑1.第1层预测模型训练: 将归一化后的训练集 的每一个Ml′中元素 作为自变量, 将 作为因变量软件维护规模(即CHANGE)的实际值; 其训练方式为: 将 进行两 两组合, 将每一种组合的两个元素 和 代入以下的预测公式, 并将 作为实际值代入 预测公式 中的y, 使用w idrow‑hoff学习规则计算得到 组权值: 其中y是输出值, 表示软件维护规模(即C HANGE), a0, a1, a2, a3, a4, a5是权值; 再将 组权值代入上述预测公式, 得到 个候选中间模型; S5‑2.第1层预测模型验证: 将验证集 输入由S5 ‑1得出的候选中间模型, 输出软件维护规模(即CHANGE)的 预测值, 将其与对应的输出软件维护规模(即CHA NGE)的真实值计算出每一个候选中间模 型 的平均相对误差值MAE, 获得MAE集合E, 并将当前层最小MAE作为当前层 准则值W1, 每一个候 选中间模型的平均相对误差值MAE的计算公式如下: 其中, m为验证集 类的数目, yi′为验证集软件 维护规模(即CHANGE)真实值, 为对应的模型 预测值; S5‑3.第1层预测模型择优: 从MAE集合E中选取10个最小MAE值对应 的候选中间模型作 为择优模型, 连接 到预测模型的下一层; S5‑4.多层迭代训练预测模型: 根据步骤S5 ‑1~S5‑3的方法不断地重 复进行训练, 即在 第k(k=2, 3..., 表 示当前训练的层数)层预测模型的训练中, 取第k ‑1层输出的择优模 型作 为输入, 按照 S5‑1将输入两两组合, 计算出每一种组合的权值, 将权值代入预测公式得出候 选中间模 型; 按照步骤S5 ‑2将验证集输入候选中间模 型, 得到相应的预测值, 根据S 5‑2的公 式计算每一个候选中间模型的MAE, 并将当前层最小MAE值作为当前层准则值Wk; 对候选中 间模型进行模型择优, 若在第k层候选中间模 型中, 候选中间模 型的MAE值小于Wk‑1的数量多 于10个, 则选取MAE值最小的10个候选中间模型作为择优模 型连接到预测模 型的下一层, 反 之将MAE值小于Wk‑1的所有候选中间模型作为择优 模型连接 到预测模型的下一层; S5‑5.预测模型的训练终止准则: 当当前层候选中间模型的最小MAE值大于前一层准则值, 停止训练过程, 选取前一层择 优模型中准则值对应的模型作为预测模型的最终层;权 利 要 求 书 2/3 页 3 CN 114154730 A 3

.PDF文档 专利 一种基于多层迭代的软件维护规模预测方法

文档预览
中文文档 14 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于多层迭代的软件维护规模预测方法 第 1 页 专利 一种基于多层迭代的软件维护规模预测方法 第 2 页 专利 一种基于多层迭代的软件维护规模预测方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 23:41:28上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。