程序理解
程序理解的相关文献在1993年到2022年内共计161篇,主要集中在自动化技术、计算机技术、教育、农业经济
等领域,其中期刊论文146篇、会议论文7篇、专利文献90359篇;相关期刊69种,包括系统工程与电子技术、浙江工业大学学报、电子学报等;
相关会议7种,包括2008全国软件与应用学术会议(NASAC'08)、中国计算机学会软件工程专委会2006年年会、中国科学院计算技术研究所第八届计算机科学与技术研究生学术讨论会等;程序理解的相关文献由289位作者贡献,包括古辉、陈平、钱剑飞等。
程序理解—发文量
专利文献>
论文:90359篇
占比:99.83%
总计:90512篇
程序理解
-研究学者
- 古辉
- 陈平
- 钱剑飞
- 陈华
- 孙小兵
- 李斌
- 俞瑞钊
- 彭鑫
- 李青山
- 蒋烈辉
- 何锫
- 刘湘月
- 张路
- 林道淼
- 胡圣明
- 赵文耘
- 何钦铭
- 冯铁
- 刘超
- 朱俊武
- 李云
- 李合
- 李文锦
- 王晓博
- 苏小红
- 赵合计
- 阳继旭
- 陆波
- 何红旗
- 刘彦宇
- 刘石
- 刘芳
- 刘鹏飞
- 包东辉
- 叶会华
- 吴伟民
- 吴志勇
- 吴汪洋
- 吴穹
- 周博
- 周立萍
- 唐和平
- 唐文彬
- 姜波
- 姜淑娟
- 孙家骕
- 尹青
- 康剑
- 张丽萍
- 张家晨
-
-
宋晓涛;
孙海龙
-
-
摘要:
源代码的摘要可以帮助软件开发人员快速地理解代码,帮助维护人员更快地完成维护任务.但是,手工编写摘要代价高、效率低,因此人们试图利用计算机自动地为源代码生成摘要.近年来,基于神经网络的代码摘要技术成为自动源代码摘要研究的主流技术和软件工程领域的研究热点.首先阐述了代码摘要的概念和自动代码摘要的定义,回顾了自动代码摘要技术的发展历程,并介绍了生成式摘要的质量评估方法和评估指标;然后分析了神经代码摘要算法的通用结构、工作流程和面临的主要挑战;给出了代表性算法的分类,并对每类算法的设计原理、特点和限制条件进行了分析.最后,讨论并展望了未来神经代码摘要技术的发展趋势和研究方向.
-
-
马超;
李俊彤;
曹建农;
蔡华谦;
吴黎兵;
石小川
-
-
摘要:
程序理解对于诸如遗留系统重构和恶意软件检测等多类场景具有重要作用.移动应用功能分类旨在通过分析目标移动应用的运行时行为来识别其主要功能.由于运行环境的动态性和开发框架的差异性,移动应用行为模式普遍呈现出较高的复杂性,这给移动应用功能分类带来了挑战.本文致力于通过分析移动应用的执行轨迹实现对其功能的自动分类.在形式化定义移动应用功能分类问题的基础上,本文提出了一个系统性的解决方案设计框架RaT(Run-and-Tell)以指导执行轨迹驱动的移动应用功能分类解决方案的设计.在RaT框架的指导下,本文提出了2种分别基于执行轨迹统计特征和语义特征的行为表征方法.然后,将所生成的2类行为表征与4种基于神经网络(即MLP、FCN、ResNet及LSTM)的移动应用功能分类器相结合构造了8种移动应用功能分类解决方案.此外,通过利用程序插桩技术,本文采集了来自Google Play应用商店3类安卓应用类别涵盖13种不同功能的17个安卓应用程序总计876条执行轨迹以构建实验数据集.实验结果表明,采用执行轨迹语义特征行为表征的RaT框架解决方案在实验数据集上达到了73.2%的类间平均分类准确率,其性能明显优于基线方法.
-
-
汶东震;
张帆;
刘海峰;
杨亮;
徐博;
林原;
林鸿飞
-
-
摘要:
代码搜索任务旨在通过分析用户需求,结合用户意图来找到满足其需求的软件构件。在加强软件复用性的同时,提高软件开发维护效率,降低成本。与传统的文档检索不同,程序特性往往隐含在标识符和代码结构中,理解程序功能是实现高效代码搜索的关键。从深度程序理解视角切入对代码搜索任务进行定义,并总结梳理近期代码搜索研究进展。针对当前代码搜索研究评估方法和数据集进行了整理。针对研究中存在的问题,对未来代码搜索研究进行展望,为后来研究者提供参考。
-
-
邢双双;
刘名威;
彭鑫
-
-
摘要:
开源及企业软件项目和各类软件开发网站上的代码片段是重要的软件开发资源.然而,很多开发者代码搜索需求反映的代码的高层意图和主题难以通过基于代码文本的信息检索技术来实现精准的代码搜索.因此,反映代码整体意图和主题的语义标签对于改进代码搜索、辅助代码理解都具有十分重要的作用.现有的标签生成技术主要面向文本内容或依赖于历史数据,无法满足大范围代码语义标注和辅助搜索、理解的需要.针对这一问题,提出了一种基于知识图谱的代码语义标签自动生成方法KGCodeTagger.该方法通过基于API文档和软件开发问答文本的概念和关系抽取构造软件知识图谱,作为代码语义标签生成的基础.针对给定的代码,该方法识别并抽取出通用API调用或概念提及,并链接到软件知识图谱中的相关概念上.在此基础上,该方法进一步识别与所链接的概念相关的其他概念作为候选,然后按照多样性和代表性排序,产生最终的代码语义标签.通过实验对KGCodeTagger软件知识图谱构建的各个步骤进行了评估,并通过与几个已有的基准方法的比较,对所生成的代码语义标签质量进行了评估.实验结果表明,KGCodeTagger的软件知识图谱构建步骤是合理有效的,该方法所生成的代码语义标签是高质量、有意义的,能够帮助开发人员快速理解代码的意图.
-
-
史志成;
周宇
-
-
摘要:
神经网络在软件工程中的应用极大程度上缓解了传统的人工提取代码特征的压力.已有的研究往往将代码简化为自然语言或者依赖专家的领域知识来提取代码特征,简化为自然语言的处理方法过于简单,容易造成信息丢失,而引入专家制定启发式规则的模型往往过于复杂,可拓展性以及普适性不强.鉴于以上问题,提出了一种基于卷积和循环神经网络的自动代码特征提取模型,该模型借助代码的抽象语法树(AST)来提取代码特征.为了缓解因AST过于庞大而带来的梯度消失问题,对AST进行切割,转换成一个AST序列再作为模型的输入.该模型利用卷积网络提取代码中的结构信息,利用双向循环神经网络提取代码中的序列信息.整个流程不需要专家的领域知识来指导模型的训练,只需要将标注类别的代码作为模型的输入就可以让模型自动地学习如何提取代码特征.应用训练好的分类编码器,在相似代码搜索任务上进行测试,Top1、NDCG、MRR的值分别能达到0.560、0.679和0.638,对比当下前沿的用于代码特征提取的深度学习模型以及业界常用的代码相似检测工具有显著的优势.
-
-
陈翔;
杨光;
崔展齐;
孟国柱;
王赞
-
-
摘要:
在软件的开发和维护过程中,与代码对应的注释经常存在缺失、不足或者与代码实际内容不匹配等问题,但手工编写代码注释对开发人员来说费时费力,且注释质量难以保证,因此亟需研究人员提出有效的代码注释自动生成方法.代码注释自动生成问题是当前程序理解研究领域的一个研究热点,对该问题进行了系统综述.主要将已有的自动生成方法细分为3类:基于模板的方法、基于信息检索的方法和基于深度学习的方法.依次对每一类方法的已有研究成果进行了系统的梳理、总结和点评.随后分析了已有的实证研究中经常使用的语料库和主要的注释质量评估方法,以利于针对该问题的后续研究可以进行合理的实验设计.最后进行总结,并对未来值得关注的研究方向进行了展望.
-
-
彭斌;
李征;
刘勇;
吴永豪
-
-
摘要:
自动化代码注释生成技术通过分析源代码的语义信息生成对应的自然语言描述文本,可以帮助开发人员更好地理解程序,降低软件维护的时间成本.大部分已有技术是基于递归神经网络(Recurrent Neural Network,RNN)的编码器和解码器神经网络实现的,但这种方法存在长期依赖问题,即在分析距离较远的代码块时,生成的注释信息的准确性不高.为此,文中提出了一种基于卷积神经网络(Convolutional Neural Network,CNN)的自动化代码注释生成方法来缓解长期依赖问题,以生成更准确的注释信息.具体而言,通过构造基于源代码的CNN和基于AST的CNN来捕获源代码的语义信息.实验结果表明,与DeepCom和Hybrid-DeepCom这两种最新的方法相比,在常用的BLEU和METEOR两种评测指标下,所提方法能更好地生成代码注释,且执行时间更短.
-
-
魏敏;
张丽萍
-
-
摘要:
开源软件的成功推动了软件产业的蓬勃发展,大量代码资源为代码搜索创造了条件.如何通过代码搜索技术找到需求代码成为一个重要问题.为了更好地推进后续研究工作,首先对代码搜索相关概念及研究趋势进行介绍和说明;其次对使用不同技术的代码搜索研究工作进行综述,包括基于信息检索、查询和代码描述增强、程序特征分类以及深度学习等方面,并进一步总结归纳不同方法的优缺点;接下来针对代码搜索技术所应用的多个领域进行介绍,包括程序合成、代码推荐与补全和代码风格改善等方面;最后分析现阶段代码搜索面临的主要问题,为未来该方向的发展提供一定的参考与建议.
-
-
谭国聚
-
-
摘要:
程序设计在小学生信息技术课堂开展,已经得到了广泛共识,同时,教学过程中也伴随着各种问题出现。本文针对问题,提出改进办法,即小学生程序设计课堂教学应围绕算法结构和特定算法逐步开展,并概括总结以算法学习为核心教学内容的几点优势。
-
-
霍丽春;
张丽萍
-
-
摘要:
代码注释是软件源代码的一个组成部分,其包含了有关软件源代码实现功能的底层信息,通常简要描述编程人员的假设和意图,是辅助相关软件开发人员理解软件源代码的有效方式.作为程序理解的一个延伸分支,代码注释在软件开发、维护、重构、复用及逆向工程等领域中更显得尤为重要.为了更好地使用代码注释,充分发挥其作用,有必要深入理解代码注释,从代码注释的发展规律和软件编程人员添加注释的目的 两方面展开分析,探究代码注释与源代码的协同进化关系以及代码注释的不同用途,归纳总结源代码注释演化及分类,并对其相关方法进行剖析,通过整理总结,提出该研究领域目前存在的问题和未来方向.
-
-
罗景;
姜人宽;
赵伟;
郝丹;
张路;
孙家骕
- 《2004’全国软件与应用学术会议(NASAC)》
| 2004年
-
摘要:
为了使软件复用能够在代码层次上系统化的实施,本文在自动程序理解技术研究的基础上,定义了几种基本的理解形式以及针对这些理解形式的分析方法.基于给定的理解形式与分析方法,在软件复用工程化思想的指导下,设计并实现了一个基于程序理解的代码复用系统,它是一个提供代码复用服务的软件工程辅助系统,应用于辅助代码复用活动与代码管理.
-
-
-
-
李合;
刘石;
张路
- 《中国计算机学会软件工程专委会2006年年会》
| 2006年
-
摘要:
程序理解在软件维护和软件复用中扮演着重要的角色,基于编译技术的程序信息抽取与分析是程序理解辅助工具的主要技术手段.为了降低信息抽取和信息分析的代价,提高程序理解工具的质量和构建效率,本文使用Java文档对象模型作为程序代码结构模型,提出并实现了针对Java代码的信息查询语言JPATH.通过构造JPATH查询表达式,信息抽取与分析程序能够定位感兴趣的元素在代码结构模型中的位置.同时,本文对JPATH做了进一步的扩展,提供了一种对象一关系的查询机制,便于编程人员提取具有特定语义关系的语法对象组合.
-
-
- 《2008全国软件与应用学术会议(NASAC'08)》
| 2008年
-
摘要:
使用自然语言编写的软件文档与其程序代码之间存在着重要的关联,发现这种关联性并建立起文档与代码间的可跟踪性链,将有助于软件变更的控制和管理。利用基于概率模型、向量空间模型和潜在语义模型的常规信息检索方法可以帮助提取这种关联关系,特别是发现一些潜藏于文字之间的隐性关联。但是,这些方法只是将代码和文档当作一般文献来处理,没有考虑并利用软件文档及程序代码之间基本关联要素的特点和一般规律。本文在潜在语义模型的基础上,引入了基于类继承关系的代码聚类、代码特征项分类加权、相似度词典,以及基于文档类型的分类搜索等四种措施,对检索模型进行了改进,以提高对文档和代码关联性的查准率。实验结果表明,使用前三种措施可以提高查准率5%~16%,全部四种措施可以在保持查全率不变的情况下提高查准率15%以上。
-
-
- 《2008全国软件与应用学术会议(NASAC'08)》
| 2008年
-
摘要:
使用自然语言编写的软件文档与其程序代码之间存在着重要的关联,发现这种关联性并建立起文档与代码间的可跟踪性链,将有助于软件变更的控制和管理。利用基于概率模型、向量空间模型和潜在语义模型的常规信息检索方法可以帮助提取这种关联关系,特别是发现一些潜藏于文字之间的隐性关联。但是,这些方法只是将代码和文档当作一般文献来处理,没有考虑并利用软件文档及程序代码之间基本关联要素的特点和一般规律。本文在潜在语义模型的基础上,引入了基于类继承关系的代码聚类、代码特征项分类加权、相似度词典,以及基于文档类型的分类搜索等四种措施,对检索模型进行了改进,以提高对文档和代码关联性的查准率。实验结果表明,使用前三种措施可以提高查准率5%~16%,全部四种措施可以在保持查全率不变的情况下提高查准率15%以上。
-
-
- 《2008全国软件与应用学术会议(NASAC'08)》
| 2008年
-
摘要:
使用自然语言编写的软件文档与其程序代码之间存在着重要的关联,发现这种关联性并建立起文档与代码间的可跟踪性链,将有助于软件变更的控制和管理。利用基于概率模型、向量空间模型和潜在语义模型的常规信息检索方法可以帮助提取这种关联关系,特别是发现一些潜藏于文字之间的隐性关联。但是,这些方法只是将代码和文档当作一般文献来处理,没有考虑并利用软件文档及程序代码之间基本关联要素的特点和一般规律。本文在潜在语义模型的基础上,引入了基于类继承关系的代码聚类、代码特征项分类加权、相似度词典,以及基于文档类型的分类搜索等四种措施,对检索模型进行了改进,以提高对文档和代码关联性的查准率。实验结果表明,使用前三种措施可以提高查准率5%~16%,全部四种措施可以在保持查全率不变的情况下提高查准率15%以上。
-
-
- 《2008全国软件与应用学术会议(NASAC'08)》
| 2008年
-
摘要:
使用自然语言编写的软件文档与其程序代码之间存在着重要的关联,发现这种关联性并建立起文档与代码间的可跟踪性链,将有助于软件变更的控制和管理。利用基于概率模型、向量空间模型和潜在语义模型的常规信息检索方法可以帮助提取这种关联关系,特别是发现一些潜藏于文字之间的隐性关联。但是,这些方法只是将代码和文档当作一般文献来处理,没有考虑并利用软件文档及程序代码之间基本关联要素的特点和一般规律。本文在潜在语义模型的基础上,引入了基于类继承关系的代码聚类、代码特征项分类加权、相似度词典,以及基于文档类型的分类搜索等四种措施,对检索模型进行了改进,以提高对文档和代码关联性的查准率。实验结果表明,使用前三种措施可以提高查准率5%~16%,全部四种措施可以在保持查全率不变的情况下提高查准率15%以上。
-
-
李文锦;
冯铁
- 《中国科学院计算技术研究所第八届计算机科学与技术研究生学术讨论会》
| 2004年
-
摘要:
从源码中抽取设计模式作为逆向工程的一部分对于提高软件可理解性、可维护性及软件演化具有重要意义.本文提出设计模式抽取技术的研究框架,并根据该框架对目前流行的几种设计模式抽取方法进行分类和比较,分析这些技术的优缺点,提高软件可理解性、可维护性及软件演化具有重要意义.本文提出设计模式抽取技术的研究框架,探讨该领域未来的研究方向和趋势.
-
-
李文锦;
冯铁
- 《中国科学院计算技术研究所第八届计算机科学与技术研究生学术讨论会》
| 2004年
-
摘要:
从源码中抽取设计模式作为逆向工程的一部分对于提高软件可理解性、可维护性及软件演化具有重要意义.本文提出设计模式抽取技术的研究框架,并根据该框架对目前流行的几种设计模式抽取方法进行分类和比较,分析这些技术的优缺点,提高软件可理解性、可维护性及软件演化具有重要意义.本文提出设计模式抽取技术的研究框架,探讨该领域未来的研究方向和趋势.