[发明专利]一种基于多维度特征和混合神经网络的代码可读性评估方法在审
申请号: | 202011169449.2 | 申请日: | 2020-10-28 |
公开(公告)号: | CN112416354A | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 米庆;于洋 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F40/126;G06N3/04;G06N3/08 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 沈波 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 多维 特征 混合 神经网络 代码 可读性 评估 方法 | ||
本发明公开了一种基于多维度特征和混合神经网络的代码可读性评估方法,本方法以一个代码片段作为输入,以一个可读性级别的预测作为输出,属于软件理论、软件工程与服务领域。本方法通过整合并运用各种单一神经网络以及源代码表征方式的优势,从结构、语义等不同角度挖掘代码片段中蕴含的可读性信息,最终实现对于代码可读性的量化评估。相较于传统方法,本发明在准确率、泛化能力上均得到了显著的提升,证实了多维度特征以及混合神经网络的引入对于代码可读性评估任务的重要意义。
技术领域
本发明属于软件理论、软件工程与服务领域,涉及一种基于多维度特征和混合神经网络的代码可读性评估方法,通过整合并运用各种单一神经网络以及源代码表征方式的优势,从结构、语义等不同角度挖掘源代码中蕴含的可读性信息,在代码可读性的定量评估技术上形成突破。本发明可以辅助一线软件开发工程师识别并优化可读性较差的代码,从而进一步提高开发团队的协作效率,降低软件长期迭代过程中的维护成本。
背景技术
随着信息技术的发展,软件逐步成为社会不可或缺的基础设施,被应用于人类生活的方方面面。研究表明,代码阅读在软件维护过程中耗时占比最高,开发者必须在进行任何更改,比如缺陷修复或是功能扩展之前阅读并完全理解程序源代码。因此,对于一个软件系统而言,不仅需要重视其宏观上的架构决策,比如技术选型、模块划分、层次设计等,同时也必须重视其微观上的代码细节,比如命名、注释、缩进等,以确保代码的高可读性,最小化代码阅读者所需耗费的时间和精力。
代码可读性(Code Readability or Program Readability)又称为易读性,通常指的是源代码被阅读和理解的难易程度,主要关注源代码的写法,比如标识符命名、空间结构等对阅读者阅读速度和理解程度的影响。代码可读性是评价代码质量的一项关键指标,与代码的可维护性、可重用性、可靠性、可扩展性有着紧密关联。
代码可读性一直是工业界非常重视的问题,对代码可读性进行定量、准确地评估是有效保障软件质量,降低沟通成本以及维护成本,提高软件开发和演化效率的重要途径。如果能够构建一种科学、高效的量化评估代码可读性的方法,一方面可以将其作为衡量代码质量以及开发者专业程度的重要指标,另一方面可以将其内嵌于诸如集成开发环境或者版本控制系统等现实应用场景中,帮助开发者识别并优化可读性较差的代码,确保软件产品在持续的版本迭代过程中,保持良好的健壮性和可维护性。
然而,现有的评估代码可读性的方法主要依赖于一线软件开发工程师(作为评审者)在代码评审过程中的主观判断,不仅存在效率低、成本高的问题,而且准确率也无法保证。为此,本发明将针对工业界在软件开发与维护过程中的代码可读性评估需求:1)提出一种基于多维度特征的源代码表征方式,从而最大限度地保留源代码中的可读性信息以供算法和模型使用;2)提出一种基于混合神经网络的特征提取模型,从结构、语义等不同角度挖掘源代码中蕴含的可读性信息,最终实现对于代码可读性的量化评估。
发明内容
本发明的目的在于提供一种对代码可读性进行定量、准确评估的方法,以一个代码片段作为输入,以一个可读性级别的预测作为输出。
为了实现上述目的,本发明采用以下技术方案:首先,将代码片段转化为统一的、结构化的向量形式作为深度学习模型的输入数据;其次,构建混合神经网络挖掘源代码中的结构特征和语义特征;最后,对多维度特征进行融合,以实现定量、准确的代码可读性分类预测。具体实现步骤如下:
步骤1:字符级表征,将代码片段中的每个字符都视为独立的符号并进行编码。
步骤1.1:解析,将代码片段解析为一个字符序列,具体包括:1)字母,即a-z和A-Z;2)数字,即0-9;3)符号,比如“=”和“+”;4)空白符,即空格、水平制表符和行结束符。
步骤1.2:编码,使用ASCII值对步骤1.1中所得的字符序列进行编码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011169449.2/2.html,转载请声明来源钻瓜专利网。