程序理解中支持多语言理解与信息提取技术的研究

来源 :浙江工业大学 | 被引量 : 0次 | 上传用户:msdn_sdk
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
从各种软件诞生开始,软件的维护、更新和升级等伴随软件的整个生命周期。软件的维护、更新和升级等在对原有系统的分析和理解过程中所花费的人力、物力都是非常巨大的。程序理解技术的发展,为软件的维护、更新和升级等提供了不可忽视的支持和帮助,提高了程序员对原有系统的理解效率,从而降低了软件的维护、更新和升级等成本。目前软件所采用的程序设计语言多种多样,因此一种能够支持多种程序设计语言的程序理解系统将有效地提高程序理解的效率和降低开发的成本。程序理解是通过对源程序进行分析和信息提取,从而获得用户所需要的各种源程序中的信息,如类图、系统结构、文档等。不同的程序设计语言的本质区别主要体现在词法规则和语法规则的不同,而程序理解的方法是相似的。本文将程序设计语言的词法规则和语法规则以产生式的方式表示,通过设计一种基于产生式的多语言程序信息提取器实现将不同的程序设计语言以统一的方式表示,从而可用一套程序理解系统支持对多种程序设计语言的程序理解。本文设计的基于产生式多语言程序理解系统主要包括以下三个模块:扫描分析器模块、知识管理模块和结果表示模块。扫描分析器模块中的扫描器实现对不同程序设计语言的识别。分析器通过调用本文设计的基于产生式的多语言程序信息提取器实现对输入的源程序分析及信息抽取。知识管理模块实现将抽取的信息归类并进行结构存储,它由信息库、信息归类和信息结构存储三部分组成,通过知识管理模块实现将多种程序设计语言提取的源程序信息以统一的方式进行知识管理。结果表示模块将程序理解的最终结果以使用者容易理解的方式展示给使用者。结果表示模块主要包括UML类图结果表示和XML文档结果表示等。将源程序工程文件通过扫描分析器模块输入系统,结果表示模块则将源工程文件所包含的信息通过UML类图和XML文档结果显示给用户。
其他文献
随着信息化时代的到来,计算机技术以及多媒体技术的迅猛发展,与数字化视频相关的应用领域不断拓宽。然而,视频的数据量是极其庞大的,对图像的传输、存储带来了极大的困难。因
遥感影像分类是遥感数据处理的核心内容之一,也是土地覆盖分类、资源环境调查等应用的重要基础。随着遥感观测技术的发展和行业应用的深入,分类的自动化程度和结果精度之间的矛盾越来越突出,如何合理解决这一矛盾已逐渐成为各种分类方法研究的主要目标之一。目前的分类方法或多或少需要人工参与,难以适应大数据量、定量化等应用需求。本文提出了完全脱离人工操作的全自动分类的概念,通过结合图谱耦合认知理论与模式识别方法,将
众所周知,数字图像在获取、传输和处理等过程中将不可避免地受到来自外部和内部不同程度的各种噪声干扰,致使图像质量下降。图像噪声有很多种,主要表现为脉冲噪声。中值滤波是广
无线网络可用于无线通信、监测环境以及收集数据等多种功能。然而无线网络中节点存在电源容量、存储容量、通信能力和计算能力等方面的限制。传统无线路由协议在中间节点只负
人机交互是计算机领域永恒的课题,如何建立和谐自然的人机交互环境是当前人机交互的研究热点及难点。手势作为一种自然直观的交互方式,符合人们的交流习惯,引起人们的研究兴
1993年Tirkel等人提出了“数字水印”这一概念,随后数字水印技术在隐藏标识、防伪溯源、认证和安全隐蔽通信等领域得到了充分的应用。近年来,随着计算机处理速度的飞速提升,以及
Web 2.0社区是当前最为热门的互联网应用,SNS、微博、在线问答、贴吧等都是其典型代表。这类网站的特点是用户参与网站内容的创建与编辑,改变了以往信息单向发布的模式;此外,
随着信息技术的快速发展,数字化的多媒体信息已渗透到现代社会的每个角落,传统的造型方法已很难满足人们的需求。细分方法作为曲线曲面的离散化造型方法,是多边形网格表示方
随着计算机软件与理论的迅猛发展,传统的软件开发已不能满足当前错综复杂的应用需求,为使软件产业与企业需求保持同步,提高软件开发效率,降低企业投资成本,可复用性已成为软件开发
现在社会,互联网已经成为我们获取信息的主要来源,人们生活的方方面面都与互联网产生了联系,互联网让人们的生活更加便捷,与此同时也带来了一系列的问题,大量繁复芜杂的信息