[发明专利]基于代码异味的软件重构预测方法在审
申请号: | 202111468006.8 | 申请日: | 2021-12-03 |
公开(公告)号: | CN114138328A | 公开(公告)日: | 2022-03-04 |
发明(设计)人: | 俞东进;翁乐辉;陈洁;陈信;陈宇廷;叶佳萍 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F8/72 | 分类号: | G06F8/72 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310018 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 代码 异味 软件 预测 方法 | ||
本发明公开了一种基于代码异味的软件重构预测方法。该方法基于LGBM和Logistic Regression来实现软件重构的预测,合理利用了存在于源代码文件中蕴含的结构性信息、代码异味的强度和历史性信息,凭借不同信息度量之间强大的互补性提高了预测的效果。此外,通过过采样技术SMOTE解决了样本比例不均衡的问题。通过本发明方法能够高效预测软件的重构时机,对于软件的可维护性和可拓展性的提升具有非常重要的意义。
技术领域
本发明涉及软件维护领域,具体涉及一种基于代码异味的软件重构预测方法。
背景技术
在软件维护和演化过程中,软件系统需要由开发人员不断地进行更改,以便实现新的需求,增强现有的特征,或者修复重要的错误。由于时间压力或其他相关信息,开发人员并不总是有时间或意愿来控制系统的复杂性,并在应用他们的修改之前找到好的设计解决方案。他们可能会单纯为实现功能而编写代码,而忽视程序的结构性和可读性。代码编写上变得越来越混乱,使得整个代码结构变得臃肿不堪,这时候往往会引入代码异味。
代码异味表明源代码中容易导致改变和出错的次优设计或实现选择,会造成代码质量下降,同时会对软件开发人员在理解和维护项目代码时造成困扰,是导致技术债务的一个重要因素,从而产生不必要的维护代价。
而在软件的开发和生命周期中,维护被认为是最艰巨和最昂贵的任务之一,尤其是软件系统中异味过重的话,往往会导致代价极大的重构工作。
近年来的研究显示,现有的软件系统中存在代码异味的现象十分常见,大量的异味实例往往在其所在的文件被创建时就被引入,并且其倾向于长时间存在于软件系统中并存活下来,这往往会给软件系统带来后续维护和拓展上的隐患。
因此,选择用一个合适的时间进行重构消除异味的工作是十分重要的,它会对软件的可维护性和可拓展性带来提升。
以往的研究往往注重于代码异味的检测或软件重构的优先级,很少有研究来进行代码重构时机的预测工作。
发明内容
本发明从代码重构预测的角度出发,利用代码文件的结构性信息(规模大小、复杂度、耦合度、内聚性等方面)、异味的强度和历史性信息(文件中异味的持续时间、更改次数等信息),提供了一种基于机器学习集成技术的代码重构预测方法,可有效解决上述问题。本发明具体采用的技术方案如下:
一种基于代码异味的软件重构预测方法,具体包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111468006.8/2.html,转载请声明来源钻瓜专利网。