[发明专利]源代码注释自动生成方法及系统有效
申请号: | 201711137568.8 | 申请日: | 2017-11-16 |
公开(公告)号: | CN109799990B | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 劳生;刘艳彬;吴春光;罗飞;范凡;申利飞 | 申请(专利权)人: | 中标软件有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06N3/06;G06N3/08 |
代理公司: | 北京汇智英财专利代理事务所(普通合伙) 11301 | 代理人: | 何晖 |
地址: | 200030 上海市徐汇*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源代码 注释 自动 生成 方法 系统 | ||
本发明涉及源代码注释自动生成方法及系统,通过对第一源代码进行语义分析并生成抽象语法树,从而建立自然语言与程序语言的内部映射关系,再以此映射关系对第二源代码进行注释,本发明使得计算机高效分析程序语言然后映射到对应的自然语言,使得程序员能高效而且容易理解源代码所实现的功能。帮助程序员快速了解计算机程序的内部运行机制、从而帮助程序员快速识别出软件设计中的缺陷、漏洞。本发明具有通用性,解决了现有的人工分析重复性源代码的工作量问题,减少了分析重复性源代码而带来的时间和成本支出。
技术领域
本发明涉及软件源代码分析工具,具体涉及一种基于递归神经网络及抽象语法树的源代码注释自动生成方法及系统。
背景技术
人工智能已成为全球热门话题,其中基于深度学习的AlphaGo击败了李世石。人工智能算法不断在各个行业中得到应用。各个行业在工业时代后期积累的大量数据使得随机概率模型更加清晰,更加能反应客观规律。因此,合理使用概率理论分析能更加准确获取行业规律。概率理论作为人工智能的基石之一,随之能引申到各行各业中。
现有的源代码分析工具能帮助程序员快速分析程序源代码的数据结构,程序源代码的内部模块执行流程。但是这些信息侧重从计算机角度分析和解决实际问题,其过程过于形式化和抽象,且与我们使用的自然语言描述和表达有大差异。因此,单看这些源代码工具提供的信息,很难理解程序所实现的功能。
如控制红绿灯的计算机程序中,通过源代码分析工具能快速知道红绿灯的计算机程序的数据结构,并知道程序功能的模块,实现红绿灯的关闭开启功能。但是,通过源代码阅读工具程序员无法快速理解哪部分代码实现关闭、开启红灯这个功能。程序员必须通过理解数据结构所描述的现实信息以及该数据结构的影响范围,全局考虑才能明白源代码的哪个功能模块实现关闭及开启红灯功能。
因此,计算机程序源代码会用大量的源代码注释来解决上述问题。在计算机源代码的关键地方,使用自然语言进行文字描述,这些文字描述信息一般叫做源代码注释。计算机程序运行时会忽略掉源代码注释的文字内容,因此源代码注释不会对程序的运行有任何影响。
但是,随之而来的结果是,不同软件开发团队,实现同样的功能的计算机程序会使用不同的词汇和表达顺序,因此程序员需要排除大量重复冗余的信息。
再者,由于计算机程序还在不断应用到新的场合,为了适应新的场合,程序源代码也会不断在变化,程序源代码注释的部分非常依赖于所在的程序源代码实现的功能。因此,程序员要及时更新序源代码实现的功能与程序源代码注释。过时、错误、缺失的程序源代码注释,会导致团队中的其它程序员理解产生误差。情况可能进一步恶化,如:计算机程序的实验环境难以构建,没有实验环境就无法通过监控分析计算机程序的内部运行流程、内部处理机制来了解计算机程序的内部工作原理。因此,团队中的个人会存在理解误差,同时团队成员之间信息的传播会出现信息丢失,误差信息会不断扩大,导致软件开发管理上困难不断。
因此,需要提供一种新的源代码注释方法。
发明内容
为解决现有技术存在的不足,本发明提供了一种源代码注释自动生成方法,包括如下步骤:
步骤S1:利用第一源代码的第一抽象语法树,建立语法标识tid-句子标识sid映射关系;
步骤S2:对第二源代码进行词法及语法分析,得到第二抽象语法树,并对该第二抽象语法树进行匹配计算,得到第二语法标识tid;
步骤S3:根据步骤S1中的语法标识tid-句子标识sid映射关系以及步骤S2中的第二语法标识tid,得到第二句子标识sid;
步骤S4:构建注释生成模型;
步骤S5:根据步骤S3中的第二句子标识sid以及步骤S4中的注释生成模型,生成第二源代码的注释;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中标软件有限公司,未经中标软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711137568.8/2.html,转载请声明来源钻瓜专利网。