首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
陈翔  杨光  崔展齐  孟国柱  王赞 《软件学报》2021,32(7):2118-2141
在软件的开发和维护过程中,与代码对应的注释经常存在缺失、不足或者与代码实际内容不匹配等问题,但手工编写代码注释对开发人员来说费时费力,且注释质量难以保证,因此亟需研究人员提出有效的代码注释自动生成方法.代码注释自动生成问题是当前程序理解研究领域的一个研究热点,对该问题进行了系统综述.主要将已有的自动生成方法细分为3类:...  相似文献   

2.
代码注释有助于提高程序的可读性和可理解性,而不断地创建和更新注释非常费时费力,这将影响对软件的理解、重用和维护.自动代码注释试图解决此类问题,其中代码的表示和文本生成是研究的核心问题.该文提出一种基于编码器-解码器结构的自动生成Java代码注释模型.方法将代码的顺序序列和代码结构作为单独的输入进行处理,允许模型学习Java方法的结构和语义;以一定的概率从模型生成的预测序列和真实词序列中采样作为下一步的输入,以提高模型的纠错恢复能力.通过与3种典型自动代码注释方法在11个Java项目上的对比实验,结果表明,提出的模型在BLEU得分上提升了16.1%,有助于提高自动代码注释的性能.  相似文献   

3.
潘兴禄  刘陈晓  王敏  邹艳珍  王涛  谢冰 《软件学报》2023,34(9):4114-4131
软件代码注释生成是软件工程领域近期研究的一个重要问题.目前很多研究工作已经在包含大量<代码片段,注释语句>对的开源数据集上取得了较好效果.但在企业应用中,待注释的代码往往是一个软件项目库,其必须首先决策在哪些代码行上生成注释更好,而且待注释的代码片段大小、粒度各不相同,需要研究提出一种注释决策和生成一体化的、抗噪音的代码注释生成方法.针对这个问题,提出一个面向软件项目的代码自动注释生成方法CoComment.所提方法能够自动抽取软件项目文档中的领域基本概念,并基于代码解析与文本匹配进行概念传播和扩展.在此基础上,通过定位概念相关的代码行/段进行自动注释决策,最终利用模板融合概念和上下文生成具有高可读性的自然语言代码注释.目前CoComment已经在3个企业软件项目、超过4.6万条人工代码注释数据上进行了对比试验.结果表明,所提方法不仅能够有效地进行代码注释决策,其注释内容与现有方法相比也能够提供更多有益于理解代码的信息,从而为软件项目代码的注释决策和注释生成问题提供了一种一体化的解决方案.  相似文献   

4.
代码注释作为软件中的重要组成部分,在软件维护、复用等领域中发挥着重要作用。代码注释自动生成技术旨在减轻人工编写注释的工作量,从而提高软件开发效率。现有的注释自动生成方法分为基于规则、文本摘要、数据驱动、主题模型、深度学习等层次。综述了代码注释自动生成的相关概念,对比总结各类代码注释自动生成方法,对近年来代码注释自动生成相关应用进行了梳理和总结,最后对注释自动生成所面临的挑战进行了分析,展望了该领域未来的研究。  相似文献   

5.
本文提出了一种基于模板技术的BREW应用程序可视化用户界面设计以及代码自动生成的方法,从而改变了手工编写BREW应用的现状。本系统为提供一个可视化的图形界面设计工具,开发人员可以进行所见即所得的界面设计,同时根据用户的设计生成XML文件,接下来利用该XML文件及BREW程序框架模板自动生成应用代码。可视化的界面设计及自动代码生成提高BREW应用的开发效率。  相似文献   

6.
陈翔  于池  杨光  濮雪莲  崔展齐 《软件学报》2023,34(3):1310-1329
Bash是Linux默认的shell命令语言.它在Linux系统的开发和维护中起到重要作用.对不熟悉Bash语言的开发人员来说,理解Bash代码的目的和功能具有一定的挑战性.针对Bash代码注释自动生成问题提出了一种基于双重信息检索的方法 ExplainBash.该方法基于语义相似度和词法相似度进行双重检索,从而生成高质量代码注释.其中,语义相似度基于CodeBERT和BERT-whitening操作训练出代码语义表示,并基于欧式距离来实现;词法相似度基于代码词元构成的集合,并基于编辑距离来实现.以NL2Bash研究中共享的语料库为基础,进一步合并NLC2CMD竞赛共享的数据以构造高质量语料库.随后,选择了来自代码注释自动生成领域的9种基准方法,这些基准方法覆盖了基于信息检索的方法和基于深度学习的方法.实证研究和人本研究的结果验证了ExplainBash方法的有效性.然后设计了消融实验,对ExplainBash方法内设定(例如检索策略、BERT-whitening操作等)的合理性进行了分析.最后,基于所提方法开发出一个浏览器插件,以方便用户对Bash代码的理解.  相似文献   

7.
针对大多数软件代码注释数量少、质量低的问题,提出了一种自动生成代码注释的方法。利用Nicad检测出克隆代码,提取出这些代码以及相应的注释,对代码和注释分别进行精简优化,将注释与代码匹配映射,为代码自动生成注释。对5款软件中的代码注释进行手动验证并评估注释结果,实验结果发现28%的代码注释是良好的,同时将注释报告给5位专家,专家评估结果为两款软件的代码注释为良好。实验结果及用户调研表明,该方法对于自动生成代码注释是可行、有效的。  相似文献   

8.
针对智能合约开发效率不高、安全漏洞频发等问题,提出了一种基于代码注释调优的智能合约自动生成方法。首先结合智能合约代码关联注释的语义信息,构建智能合约聚类分析模型,实现功能类似智能合约的快速精准聚类;接着划分注释关联的合约层、函数层、接口层等不同层次智能合约知识库,以聚类后的代码及注释信息为基础,构造多样化Prompt特征提示语句数据集;最后,以大语言模型ChatGLM2-6B为基础,借助P-Tuning v2微调技术,实现特定需求智能合约的自动生成。为检测该方法的有效性,借助双语互译质量评估辅助工具BLEU和代码安全检测工具Mythril与VaaS,同现有方法进行了对比。实验结果表明,该方法生成的代码BLEU平均值提升了13%左右,代码安全性提高6%左右。此方法将代码注释信息融入智能合约的自动生成,有效提升了智能合约的质量,为安全可靠智能合约的高效开发提供了一种新的方法。  相似文献   

9.
为快速开发嵌入式应用中的接口通讯程序,提高其效率和可靠性,本文提出了一种基于ICD的代码自动生成技术.首先确定了目标代码的形式,通过设计系统结构、建立驱动模型和代码生成单元结构,最终实现了代码生成器.本文设计的代码生成器,能够根据ICD数据库自动生成符合ANSI C标准的接口通讯程序,并在某航天工程的集成仿真测试系统中得到应用验证.  相似文献   

10.
针对企业应用系统开发采用的轻量级Java EE框架的复用与维护问题,在对Hibernate、Spring和Struts三个开源框架分析的基础上,提出了整合三个框架的配置方案。并设计一个基于此方案的快速开发框架。实现的快速开发框架能自动将零散的框架自动集成,并根据数据表及代码模板生成各逻辑层的初始代码,为新项目生成一个稳定的初始开发平台。  相似文献   

11.
王潮  徐卫伟  周明辉 《软件学报》2024,35(2):513-531
代码注释作为辅助软件开发群体协作的关键机制,被开发者所广泛使用以提升开发效率.然而,由于代码注释并不直接影响软件运行,使其常被开发者忽视,导致出现代码注释质量问题,进而影响开发效率.代码注释中存在的质量问题会影响开发者理解相关代码,甚至可能产生误解从而引入代码缺陷,因此这一问题受到研究者的广泛关注.采用系统文献调研,对近年来国内外学者在代码注释质量问题上的研究工作进行系统的分析.从代码注释质量的评价维度、度量指标以及提升策略这3个方面总结研究现状,并提出当前研究所存在的不足、挑战及建议.  相似文献   

12.
代码注释可以帮助开发人员理解代码的功能和实现方法。代码注释生成模型可以自动识别代码中的关键信息,并生成相关注释,提高代码的可读性和可维护性。现有的代码注释生成模型通常只使用抽象语法树结构信息来表示代码,导致模型生成注释质量不高。提出一种融合多结构信息的代码注释生成模型,该模型在代码抽象语法树的基础上,增加了数据流图结构信息来表示代码。模型使用Transformer的编码器对抽象语法树序列进行编码,捕获代码全局信息。使用图神经网络对数据流图进行特征提取,提供变量之间的计算依赖关系等信息。然后使用跨模态注意力机制融合抽象语法树和数据流2种特征,经过Transformer的解码器生成相应的注释。实验结果表明,与6种主流模型相比,所提出的模型在Java和Python数据集上的BLEU、METEOR和ROUGE-L指标得分均有提高,生成的注释也具有良好的可读性。  相似文献   

13.
针对代码注释较少导致软件项目可维护性降低、理解代码语义困难等问题,提出一种基于NMT模型的双编码器框架自动生成代码注释的方法.在该框架中,首先提取不同的代码特征信息;然后分别采用序列编码器和图编码器对不同的代码特征编码,引入注意力机制调整编码器输出向量,再对双编码器的输出向量综合处理;最终利用解码器对综合向量解码获得注释序列.为了验证带有注意力机制的双编码器模型效果,本文构建自动生成代码注释算法框架.实验表明,双编码器模型与文中的序列编码器和树编码器模型算法相比,在生成代码注释方面的结果评估得分上表现较好.通过BLEU-1、ROUGE-L和F1测评指标得分对比,验证了本文算法的有效性.  相似文献   

14.
基于模型的Web页面自动生成系统PAGS   总被引:2,自引:0,他引:2  
如何提高页面开发效率进而提高Web应用开发的效率成为Web应用开发者们关心的一个问题。现有的页面辅助开发工具大多由页面编辑工具改进而来,采用手动布局和数据绑定的方式定制页面,虽然方便了单个页面的开发,但工程的整体效率并未得到实质性的提高。PAGS是一种基于模型的页面自动生成系统,它通过对Web页面及页面组件的分类建立模型,结合数据字典技术和代码自动生成技术,实现了页面的自动生成、自动布局、自动绑定数据,同时也支持以图形化的方式对页面进行局部调整和修改。工程实践表明,PAGS能够较好地支持各类大型Web应用系统的页面开发需求,有效提高Web页面的开发效率。  相似文献   

15.
梁白鸥 《计算机应用》2019,39(12):3639-3643
为了解决流程图绘制效率低下的问题,更好地保证软件模型、文档与代码的一致性,提出了一种流程图自动生成算法。首先,通过逆向分析C/C++源代码,提取代码的Token列表,生成Scope树,从而生成流程图。同时,提出了一种规范代码函数体注释的方法,提高流程图的可理解性。最后,应用Sugiyama布局算法,并对坐标指定步骤进行补充改进,对流程图进行了自动布局,最终生成可读流程图。实际应用过程中,所提算法有效地提高了软件设计文档的编写效率,保证了软件模型、文档与代码的一致性。  相似文献   

16.
针对OSEK标准的应用设计了一个从OIL代码到C代码的自动生成系统,该系统允许用户输入OIL配置文件信息,读取用户的输入转换为标准的C程序,返回给用户,在具体应用的时候.文法限制严格.该系统结合代码自动生成的过程,提出了一些具体的解决过程,消弱了对文法输入的限制,提高了对文法的适应能力.  相似文献   

17.
统一建模语言提供了研制和开发面向对象软件集成化开发环境的理论基础,指出UML本质上是一套文档符号,提出UML增减原则:是否有利于自动文档生成;是否有利于自动程序生成。提出一个“开环”的集成化开发平台的构造框架。最后,基于上述设计思想和结合软件项目实际情况,开发出一个集成化CASE平台,平台具有数据库文档自动生成、界面自动生成、代码自动生成和构件重用等功能。  相似文献   

18.
郑建华  朱蓉 《福建电脑》2011,27(12):8-9
代码自动生成技术是提高软件开发效率的有效方式,本文提出一种实现SSH(Struts-Spring-Hibernate)框架集成源代码的自动生成的技术方案。该方案通过构建图形化的E-R(Entity-Rela-tion)图编辑器,实现E-R图绘制;然后基于该E-R图实现不同类型数据库源文件、以及SSH框架集成源代码、持久层代码自动生成,最终形成一个完整的J2EE项目开发环境。  相似文献   

19.
采用代码自动生成技术能为软件开发带来代码质量的提高、开发风险的降低等优点,提高了软件开发的速度和质量。该文描述了一种基于模板的代码自动生成系统的设计和实现,并利用它完成了基于J2EE-Web应用系统的代码自动生成工作。  相似文献   

20.
《微型机与应用》2015,(8):20-22
随着数字芯片速度的提高和数字信号技术的发展,DSP被广泛应用于工业控制等领域,系统开发的效率得到普遍的关注,传统的MATLAB仿真与产品硬件实现相分隔的方式已经无法满足设计的需求。提出一种基于MATLAB的DSP实时控制软件自动生成方案,并通过Simulink模型自动生成TI C2812 DSP的目标代码的应用实例,验证了代码自动生成的可执行性。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号