连续在线程序切片算法的研究

来源 :上海交通大学 | 被引量 : 0次 | 上传用户:kindmercy
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机技术的飞速发展,在软件系统日益复杂的今日,程序分析技术正在软件开发维护的过程中扮演着越来越重要的角色。其中,程序切片技术能够反应出程序中语句在执行时的相互影响关系,帮助软件开发人员对程序的理解,因此可以被有效应用于程序理解和调试中。然而,由于程序切片算法本身相当耗时,无法满足交互式程序调试场景的低响应需求,极大地限制了程序切片的应用。本文通过分析传统基于程序依赖图的程序切片计算流程,认为其主要瓶颈在用于计算程序中依赖关系的数据流分析部分,同时结合交互式程序调试场景中,程序被频繁小规模修改而无法事先离线切片的问题,提出使用需求驱动式和增量式程序切片的方法进行优化。需求驱动式程序切片的基本思想是利用需求驱动式数据流分析的特点,依照切片的实际需求计算数据依赖,它主要针对传统算法计算大量最终未被使用的数据流信息的问题。增量式数据流切片的基本思想是预先计算好切片时需要的数据流信息,在程序被小规模修改时,利用增量式数据流分析进行局部更新后快速重新切片,主要针对在程序更改发生后需要从头计算程序切片的问题。本文基于Soot程序分析框架,针对Java编程语言,实现了基于上述优化方法的程序切片算法。本文从四个Apache开源软件项目中选取了10个真实的程序故障,在模拟的交互式调试场景的中与传统程序切片算法相比较。实验结果显示,程序切片能够剔除程序大量与程序故障无关的部分。同时本文实现的切片算法极大地提高了程序切片的运行效率,对于较小规模的程序,能够在一秒左右就做出响应,对于如Hadoop这样规模较大的程序,响应时间也被控制在了十秒的数量级,可以满足交互式调试场景的需求。
其他文献
随着计算机网络尤其是Internet的快速发展,作为缓存服务器的Web Proxy得到了普遍的应用。而随着网络速度的提高和磁盘速度的缓慢,Web Proxy所在的文件系统的延迟在人们感觉到的
辽宁省电力有限公司的“电力信息网络视频系统”,它是建立在已有网络系统基础之上的一种网络应用,不同于传统意义上的视频会议系统(采用H.323协议),因此,稳定可靠的网络环境是“电
随着社会的进步,人们在满足日常生活需要的前提下,对安全防范提出了更高的要求,传统的电视监控系统已不能满足人们的需求。随着计算机技术的飞速发展,在上个世纪末,出现了多媒体数
该文着重论述了"i-Trust企业级安全VPN系统"的安全网络设备管理系统.安全网络设备管理系统是由设备监控子系统和日志子系统组成的,它们一起实现了对VPN网络各种安全设备运行
PKI是一个普适性的基础设施,它不仅仅包括实现其功能的技术和协议,还包括一些管理PKI的使用、风险控制和商业进程的策略以及支撑PKI的软硬件系统.PKI建立在公开密钥算法的基
该文分析了GIS技术现状及发展面临的主要问题;探讨了Web GIS的体系结构及构造方法,对分布对象技术在Web GIS中的应用进行了研究;重点研究了COM/DCOM技术在Web GIS中的应用,建
计算学习理论是一门新的学科,计算学习理论所研究的是机器学习中一些共同的、根本性的基础问题.计算学习理论用形式的方法,以计算复杂性理论、形式语言理论和统计推断理论等
九十年代以来,网络硬件的通信能力迅速提高,网络通讯带宽和可靠性增加,百兆网卡广泛应用于集群系统.而通信软件协议的发展则相对滞后,影响机群间通讯能力的主要因素由硬件转
目前,随着信息产业的第三次浪潮的到来,融合各种信息技术的、打破互联网限制的具备“全面感知、可靠传送、智能处理”特征的物联网技术已经渗透到畜牧业领域。纵观现代畜牧业的
分布式对象技术是90年代最重要的软件技术进展之一。该技术实现的组件使企业计算的分布性、可扩展性和异构性等的要求成为可能。在Internet上构造企业级分布式应用系统是许多