基于层次依赖结构的程序理解方法研究

基于层次依赖结构的程序理解方法研究

ID:36654462

大小:1.73 MB

页数:49页

时间:2019-05-13

基于层次依赖结构的程序理解方法研究_第1页
基于层次依赖结构的程序理解方法研究_第2页
基于层次依赖结构的程序理解方法研究_第3页
基于层次依赖结构的程序理解方法研究_第4页
基于层次依赖结构的程序理解方法研究_第5页
资源描述:

《基于层次依赖结构的程序理解方法研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、哈尔滨工业大学工学硕士学位论文摘要随着社会对软件需求的不断增长,正在使用和开发的软件数量与日俱增,许多软件的规模变得越来越大,这些软件的维护问题成为了当前软件产业面临的重要问题。能否准确、迅速、全面地理解程序是决定维护工作成败的关键。由此,程序理解成为了软件维护中的重要的一步。程序的可理解性研究对软件开发、管理和维护有着重要意义,特别是针对遗产软件系统的升级。遗产软件系统指的是很久以前开发的软件系统,经过相当大的改动,如今又不能不使用的软件。多年的运行历史,使得遗产软件系统中包含了企业的众多知识,

2、包括系统需求、设计决策和业务规则。为了能够充分利用这些有用资产,遗产系统持续性演化变得十分重要.程序理解的目的在于获取足够的系统信息以便让系统按所期望的方式演化,因而,程序理解是遗产系统成功演化的关键之一。如何选择一个合适的理解策略是今后理解工作顺利进行的保障。本文提出了6种国内外学者在程序理解方面的几种具有代表性的程序理解策略:自顶向下策略、自底向上策略、基于知识策略、Systematic/As-Needed策略、潜在语义分析策略和集成策略,并对这些策略进行了详细的比较。同时,还指出了当前程序理

3、解上存在的困难和程序理解在不同层次上应该完成的任务.本文还根据程序设计语言的公理语义,从公理中剥离出各个结构的断言,抽象出程序设计语言的抽象文法.抽象文法能够直接给出了各种语言构造的各个成分,而不管它们的表示细节。接着指出了采用语法树比较进行程序理解的不足之处。在程序理解过程中,记忆性的工作造成了程序理解的困难。在阅读程序的时候不丢失上下文信息,这将大大地有助于程序理解。本文通过对程序理解策略的剖析,运用程序切片的方法,采用自顶向下的策略,使程序以一种层次依赖的结构显示给理解者,从而让理解者在程序

4、理解过程中不失上下文,按照模块化的方式进行,解决了程序信息组织凌乱、理解者对于程序无从下手的问题。通过对C语言典型源程序的理解,结果表明,将程序理解应用于“C语言程序设计”编程题的评测中,其意义在于可以实现计算机代替人工评阅编程题。关键词层次依赖;程序理解;程序切片一一一一一一一一一』.ii廷}}2}fiy,tAbstractWiththeincreasingsoftwarerequirementandincrementofthetobeusinganddevelopingsoftware,lot

5、sofsoftwarebecomingmoreandmorelarger,itbecomesanimportantproblemtomaintainthesesoftware.Understandingtheprogramexactly,rapidlyandcomprehensiveplaysanimportantrole,especiallytotheimprovementtolegacysoftware.Legacysoftwareisreferredtosoftwaresystemswhic

6、hweredevelopedsometimeago,whichhavebeenundergoneconsiderablemodificationandwhicharestillindispensablyusednowadays.Itincludesmuchenterpriseknowledgewhichconsistsofsystemrequirement,designandrules.Itisimportanttoevolvelegacysoftwareformakinguseofexisten

7、tresource.ProgramUnderstandingisthekeypointtoevolvelegacysoftwaresuccessfully.Choosinganappropriateunderstandingstrategyguaranteesthejobfluently.Weputforwardsixtypicalprogramunderstandingstrategies:Botom-Up,Top-Down,Knowledge-Based,Systematic/As-Neede

8、d,LSA,Integrated,andcomparethesestrategies.Atthesametime,wepointoutthedificultyandtasksduringprogramunderstanding.Wealsoabstracttheabstractgrammarofprogramlanguagebypeelingofftheassertionfromtheaxiom.Abstractgrammarshowsthestructureofprogramla

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。