[发明专利]基于高斯过程回归的安卓App程序演化变更预测方法有效
申请号: | 201810443100.X | 申请日: | 2018-05-10 |
公开(公告)号: | CN108614778B | 公开(公告)日: | 2022-08-16 |
发明(设计)人: | 陈世展;张頔楠;冯志勇;黄科满 | 申请(专利权)人: | 天津大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 天津市北洋有限责任专利代理事务所 12201 | 代理人: | 刘国威 |
地址: | 300072*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 过程 回归 app 程序 演化 变更 预测 方法 | ||
1.一种基于高斯过程回归的安卓App程序演化变更预测方法,其特征是,步骤如下:
阶段一数据爬取:通过开源软件版本控制系统应用程序编程接口GithubApi爬取演化历史数据,挖掘完整的演化历史信息,通过分析完整的演化历史得到演化规律;
阶段二数据预处理:采用两类新的指标,类变更指标class change metrics以及变更程度指标change degree metrics来研究版本变更预测问题,其中,变更程度指标为Ⅱ类的变更程度度量指标:使用一个0-1之间的值,描述class类在两个连续版本之间的版本间距离;
哪些类将在新发布的版本中变更,为了得到这个结果,在两个连续版本之间完整的元数据和源代码信息被转化为基于时间片的增量矩阵模型;
阶段三获取最佳预测窗口大小:窗口大小:能够得到最佳预测结果的用来预测的版本数目;根据演化增量矩阵对后续版本的影响大小确定每个演化增量矩阵所占有的权重,采用熵权法,通过这些演化增量矩阵提供的信息熵,得到预测窗口大小不同时,窗口中不同矩阵所对应的固定权重;
阶段四构建高斯过程回归预测模型:根据上述选取的最佳窗口大小m,选择m个演化增量矩阵作为自变量,预测的某个类class的变更程度作为因变量,将矩阵按照metrics列展开,选用高斯过程回归算法构建预测模型,高斯过程能够处理高维度小样本的数据,最后通过预测模型输出下一版本类变更程度排序列表。
2.如权利要求1所述的基于高斯过程回归的安卓App程序演化变更预测方法,其特征是,还包括数据预处理:
扫描模块:提取App项目第一个版本到最后发布的版本中出现的所有类class;
提取每一个class指标元数据:对于连续两个版本,提取每个class两种类型的元数据信息以及计算共有class的代码相似度,对每一个class采取各版本间的变更度量指标进行标记,三类指标描述如下:
Ⅰ类变更度量指标:描述了class在两个连续版本间文件级的变更信息,也就是前一版本文件是否在下一个版本中为新增加、被删除、被修改;
Ⅱ类的变更程度度量指标:使用一个0-1之间的值,描述class类在两个连续版本之间的版本间距离;
Ⅲ经典面向对象指标:用面向对象指标差值描述版本间的变更信息,相比与前面的指标,更细粒度的描述了每个class的变更,用经典的面向对象指标对class进行标记,包括Chidamber S以及Kemerer C共同提出的描述类面向对象特征的指标组CK、指标组QMOOD、指标组Ca Ce指标,得到版本间共有class在两个版本之间的指标的差值;
生成和存储:每两个相邻版本整合出一个演化增量矩阵,并且将这一系列矩阵存储到数据库中。
3.如权利要求1所述的基于高斯过程回归的安卓App程序演化变更预测方法,其特征是,训练和预测:
基于阶段二得到的增量矩阵模型,通过熵权法得到矩阵权重,通过机器学习算法训练矩阵得到最佳预测窗口大小,最后,根据相应App的最佳预测窗口大小,基于高斯过程回归模型对新发布版本的类变更情况进行预测,输出一个关于变更大小的易变类变更排序列表;计算每一组矩阵中的矩阵信息熵,每组中的矩阵数为m,进而确定窗口m中每个矩阵的权重;软件演化一共有n个版本,因此能得到n-1个矩阵matrix2~matrixn,将matrix2~matrixn包含的有效变化信息总数作为矩阵特征的统计,那么有n-m个指标组;
确定最佳预测窗口大小:
数据处理:各指标数据标准化;
求各指标组的信息熵:根据信息论中信息熵的定义,计算各矩阵信息熵;
确定各指标的权重:通过信息熵计算各矩阵的权重;
求得最佳预测窗口大小:以不同的预测窗口大小构建多元逻辑回归模型,这些模型的拟合效果决定了以怎样的窗口大小来对该App的下一个版本进行预测,用之前版本的演化变更数据对下版本某个class的变更进行预测。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810443100.X/1.html,转载请声明来源钻瓜专利网。