欢迎来到天天文库
浏览记录
ID:5317074
大小:1.14 MB
页数:4页
时间:2017-12-08
《slithice:一个基于系统依赖图的java程序切片工具》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、。ComputerEngineeringandApplications计算机工程与应用Slithice:一个基于系统依赖图的Java程序切片工具钱巨,陶彬贤QIANJu,TAOBinxian南京航空航天大学计算机科学与技术学院,南京210016CollegeofComputerScienceandTechnology,NanjingUniversityofAeronauticsandAstronautics,Nanjing210016,ChinaQIANJu,TAOBinxian.Slithice:systemdependencegraphbasedprogramslicingtoolf
2、orJava.ComputerEngi—neeringandApplications,2014,50(2):31-34.Abstract:Nowadays,thetheoryofprogramslicingishighlydeveloped,butopentoolsforslicingJavaprogramsarestillrarelyseen.Tosupporttheresearchesontheapplicationofprogramslicingtechniques,itdesignsandimplementsanEclipseslicingpluginnamedSlithice.
3、Thetoolcanperformsystemdependencegraphbasedprogramslicing.Itprovidesmanyoptionsforthebasisanalysesandthesystemdependencegraphconstruction.Thiscanlettheusersmakebettertrade—offsbetweeneficiencyandprecisionandhencemakethetoolmoresuitableforanalyzingprogramsofvariousscales.Keywords:Java;programslici
4、ng;static摘要:当前程序切片的相关理论已经较为成熟,但针对Java程序的静态切片工具却非常少见。为便于展开切片应用研究,设计并实现了一个基于系统依赖图的Eclipse切片插件——Slithice。该插件支持不同粒度的底层分析和系统依赖图构建,从而可以使切片算法能够在精度和性能之间进行权衡,适应各种规模程序的分析需要。关键词:Java;程序切片;静态文献标志码:A中图分类号:TP311doi:10.3778/j.issn.1002—8331.1208—05391引言算法,因此此类切片方法值得进一步研究。为便于展开当前程序切片[1-2]的相关理论已经较为成熟,但在工程序切片应用研究,
5、设计并实现了一个Eclipse下的程具实现方面,主要的工作关注C程序,以及Java程序序切片插件——slithice。Slithice可对Eclipse中的项的动态切片,针对Java的静态切片工具依然非常少目作基于系统依赖图的静态切片。为保证伸缩性,该工见。造成此种现象的主要原因包括多个方面:首先,程具支持不同精度和性能的指针分析,支持采用不同的粒序切片依赖于许多底层的程序分析技术,因此实现起来度来对动态堆空间进行抽象,可允许创建不同粒度的系较为困难;另外,代码规模的不断扩大使得许多切片算统依赖图参数节点,允许进行限定深度的库模块分析,法必须经过一定的优化才能适应实际程序分析的需从而可以
6、使算法能够在精度和性能之间进行更好的权要。打造一款实际可用的切片工具存在许多挑战。目衡,适应不同规模程序的分析需要。前,公开可获得的Java程序静态切片工具主要是Indus。在获得切片数据的基础上,设计并实现了一个切片Indus具有强大的功能,但该工具不是基于依赖图实现结果的呈现系统。它可用柱状图展现切片结果在不同的。对于经典的基于系统依赖图的程序切片,尚未见文件中的分布。对于每个文件,可用缩略图形式,显示到可公开获取的工具。切片覆盖的代码在文件中的分布,也可在编辑器中以高基于系统依赖图的程序切片应用广泛,其底层的依亮方式展现切片结果。对于每个语句行,Slithice可显赖图可用来实现代
7、码重构、克隆代码分析等多种不同的示该行依赖的语句,并支持在互相依赖的语句之间进行软件工程目标,在该依赖图上也可灵活配置不同的切片跳转。在后续章节中,本文将详细介绍Slithice切片工基金项目:国家自然科学基金(No.60903026,No.61100034)。作者简介:钱巨(1981一),男,博士,副教授,主要研究领域为软件分析与测试;陶彬贤(1988一),男,硕士研究生,主要研究领域为软件分析与测试。E-mail:jqian@n
此文档下载收益归作者所有