程序动态切片技术研究毕业设计 .doc

程序动态切片技术研究毕业设计 .doc

ID:207778

大小:772.50 KB

页数:62页

时间:2017-07-03

程序动态切片技术研究毕业设计 .doc_第1页
程序动态切片技术研究毕业设计 .doc_第2页
程序动态切片技术研究毕业设计 .doc_第3页
程序动态切片技术研究毕业设计 .doc_第4页
程序动态切片技术研究毕业设计 .doc_第5页
资源描述:

《程序动态切片技术研究毕业设计 .doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、程序动态切片技术研究毕业设计目录摘要IAbstractII第一章绪论1第一节课题研究目的和意义1第二节研究内容和本文结构1第二章程序切片技术3第一节程序切片技术的概述3第二节切片技术的应用5第三章动态程序切片技术7第一节动态切片法产生的背景及现有算法7第二节动态程序切片实现算法8第四章动态程序切片系统设计14第一节系统概要设计14第二节详细设计16第三节实例分析24第五章系统的实现环境和运行结果的分析29第一节开发与运行环境29第二节系统输出29第六章结束语32第一节本文的主要工作32第二节展望32致谢33参考文献34附录35附录A核心

2、代码35附录B英文原文41附录C英文翻译49II附录D河海大学毕业设计(论文)中期进展报告56IIIIIIIIIIII第一章绪论第一节课题研究目的和意义软件危机曾经是软件界甚至整个计算机界最热门的话题为了解决这场危机,软件从业人员、专家和学者做出了大量的努力。现在人们已经逐步认识到所谓的软件危机实际上仅是一种状况,那就是软件中存在故障,正是这些故障导致了软件开发在成本、进度和质量上的失控。故障是软件的属性,而且是无法改变的,因为软件是由人来编写的,所有由人做的工作都不会是完美无缺的。软件测试就是“为了发现故障而执行程序的过程”,其根本目

3、的就是尽可能地消除软件中的故障,使得软件在正式投入使用之前,软件中的故障密度达到尽可能低或者可以接受的程度。软件测试是软件生命周期中的重要一环,在当前的软件开发过程中发挥着越来越重要的作用。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上;在软件开发的总成本中,用在测试上的开销要占到50%左右。软件测试的实质是根据软件开发各阶段的规格说明和程序的内部结构精心选取一批测试数据,形成测试用例,并用这些测试用例去驱动被测程序,观察程序的执行结果,验证实际运行结果与期望结果是否一致,然后做相应的调整。可见,测试

4、数据生成是软件测试的核心与关键。白盒测试(结构测试)一般是根据被测程序的内部结构设计测试用例,具有很强的理论基础。这种结构测试要求对被测程序的结构特性做到一定程度的覆盖。路径覆盖是一种相对比较强的覆盖标准,要求生成足够多的测试数据,尽可能覆盖所有程序路径。但是,实际中往往会出现这样的情况:多个测试用例执行的是同一条程序路径,而有的程序路径则从未被执行过。因此,探讨一种有效的手段,以辅助基于路径的测试数据生成,有着很现实的意义。第二节研究内容和本文结构本文在理解M.60Weiser的切片算法的基础上,根据H.Agrawai等人提出的基于静

5、态程序依赖图的算法,编写程序,最终实现切片系统。并对程序切片进行测试分析。本文的第一章简要介绍本课题研究的背景、意义以及关于切片系统的实现目标;第二章主要介绍程序切片的技术概述和应用发展;第三章则是动态程序切片的具体算法设计;第四章关于动态程序切片系统设计的介绍;第五章则是本系统的开发环境和运行结果分析;第六章则是对本文的总结以及展望。60第二章程序切片技术第一节程序切片技术的概述程序切片技术是M.Weiser在他的1979年的博士论文中首次提出的一种程序分解技术。主要通过寻找程序内部的相关特性,从而分解程序,然后对分解所得的程序切片进

6、行分析研究,以此达到对整个程序理解和认识的目的。后来在1981年和1984年,M.Weiser博士又发表了两篇论文对这种技术进行推广和完善。后来切片技术引起了研究者们广泛的关注,由于它起到了其他技术无可替代的作用,因此可以说是程序分解领域的一场大变革,无论在程序的分析和理解、调试还是测试和维护过程都起到了巨大的作用,另外切片技术还在硬件描述语言和其他规约语言以及形式化模型等方面的分析有至关重要的作用,因此它的研究具有极其重要的理论和实际意义。M.Weiser博士首先在1979年定义了程序切片的概念:程序中的某个输出只与这个程序的部分相关

7、语句以及控制谓词有关系,因此如果删除其他的语句或者控制谓词将对这个输出没有任何影响。也就是说,对于一个特定的输出,源程序和对于删除不相关的语句和控制谓词后所得的程序是作用相同的。其形式化定义如下:把满足如下两个条件的切片称为M.Weiser切片:第一,一个程序切片需要对应一个切片准则,用表示,其中n指程序中的某个兴趣点,一般指一条语句,V表示在这条语句使用的变量的集合。第二,程序P的切片s可以通过在P中删除零条或者多条语句后得到,且保证程序P和所得的切片S关于切片准则的作用是相同的。当时,M.Weiser博士把只与某个输出相关

8、联的语句和控制谓词构成的程序称之为源程序的静态切片。由此可见,一个程序的切片大多数是源程序的一个子集,这个概念准确的说其实就是程序切片的一个核心思想。后来随着研究的发展,研究者们对M.Weiser60博士程

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

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

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