面向对象程序动态切片系统的研究与实现

来源 :南京航空航天大学 | 被引量 : 0次 | 上传用户:andychinajj
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
程序切片技术是一种分析和理解程序的技术,具有可以简化问题,缩小目标范围的特点,在软件维护、程序调试、测试、代码理解等诸多领域有着广泛的应用。面向对象技术在软件工程中起着越来越重要的作用,面向对象程序与面向过程程序相比,更加灵活、可复用和易维护。然而面向对象程序特有的层次结构以及类、继承、多态等特性,使得传统的切片方法并不适用。面向对象程序的很多信息无法在编译阶段确定,意味着面向对象静态切片一定存在着很多冗余。动态切片方法利用了动态信息,可以有效的解决面向对象程序切片的复杂性问题。面向对象程序分析过程中,动态切片技术的研究比较晚,目前除了少数学者做了一些这方面的研究外,理论和应用的研究都处于初始阶段。本文以当前流行的C++语言为研究对象,分析了面向对象的特性,提出了面向对象动态系统依赖图(OODSDG),OODSDG充分的利用了程序的动态信息,简化了系统依赖图。在OODSDG的基础上,本文提出了一种自下而上的面向对象程序动态切片算法,应用程序插桩技术,设计并实现了面向对象程序动态切片系统(NUAA_DSS)。自下而上的动态切片算法在保留了传统分层切片算法优点的同时,有效的解决了多态的问题,降低了切片结果的冗余。NUAA_DSS可以进行前向、后向动态切片,并可用于观察C++程序框架和有关变量的数据字典。
其他文献
在当前的电脑游戏中,图形质量的发展已经到了近乎极至的水平,人工智能已经成为决定游戏成功的重要因素,越来越多的游戏开发者和研究者开始将重点转移到游戏中的人工智能研究
随着网络的发展和Web资源的丰富,利用Web全文信息检索系统来获取所需信息己经成为人们日常生活的重要组成部分,用户也越来越关注如何能够更加准确、高效地查找信息。为了提高
数据降维是数据挖掘的一个非常重要的工具和方法。数据降维的目的是找出隐藏在数据中的低维结构,通常可以分为线性降维和非线性降维。线性降维方法(如主成分分析、多维缩放)能
当前,越来越多的企业正在通过Internet来满足员工与企业、企业各部门之间的各种通信需求,员工可以随时随地访问企业内部的资源,部门之间可以方便地交换信息。这势必将企业的
防火墙技术是网络安全的基石,本文介绍了防火墙的相关内容,包括防火墙的基本概念、分类、主要技术和体系结构。在此基础上,研究了Linux操作系统下TCP/IP协议的实现,并对Linux
计算机网络已经逐渐成为单位,个人工作以及生活中不可缺少的一部分。由于计算机网络的应用越来越广,使得计算机网络规模更加的庞大、结构更加复杂、支持的用户更多,人们逐渐
由于传统优化方法存在诸多不足,一些具有全局优化性能且通用性强的群智能优化算法被各领域广泛的关注和应用。近几年,部分学者开始尝试对微生物的生理特性进行深入研究,并完成了
随着信息技术的不断发展和应用,信息的安全性变得越来越重要,自从N.Koblitz和Miller提出将椭圆曲线应用于密码算法以来,椭圆曲线密码体制已经成为密码学的研究热点之一。相对于其
在日趋多样的服务和对客户提供个性化服务的需求背景下,业务选择网关应运而生,计费模块是业务选择网关的关键模块之一。随着网络资源用户的增多,人们对网络服务的质量和应用需求
随着现代工业及科学技术的迅速发展,故障诊断已经越来越受到重视。作为一个强大的数据分析工具,粗糙集理论能有效地分析和处理具有不精确、不一致、不完整等特性的各种不完备信