欢迎来到天天文库
浏览记录
ID:33159874
大小:1.03 MB
页数:67页
时间:2019-02-21
《基于eclipse的java程序切片工具的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、硕士学位论文(工程硕士)基于Eclipse的Java程序切片工具的设计与实现THEDESIGNANDIMPLEMENTATIONOFJAVAPROGRAMSLICINGTOOLBASEDONECLIPSE孙瑞2010年8月国内图书分类号:TP311学校代码:10213国际图书分类号:621.3密级:公开工程硕士学位论文基于Eclipse的Java程序切片工具的设计与实现硕士研究生:孙瑞导师:何霆副教授副导师:乔立民高级工程师申请学位:工程硕士学科:软件工程所在单位:软件学院答辩日期:2010年8月授予学位单位:哈尔滨工业大学ClassifiedIndex:
2、TP311U.D.C:621.3DissertationfortheMaster’sDegreeinEngineeringTHEDESIGNANDIMPLEMENTATIONOFJAVAPROGRAMSLICINGTOOLBASEDONECLIPSECandidate:SunRuiSupervisor:AssociateProfessorHeTingViceSupervisor:Sr.EngineerQiaoLiminAcademicDegreeAppliedfor:MasterofEngineeringSpeciality:SoftwareEnginee
3、ringAffiliation:SchoolofSoftwareDateofDefence:August,2010Degree-Conferring-Institution:HarbinInstituteofTechnology哈尔滨工业大学工程硕士学位论文摘要程序切片是一种分析和理解程序的技术,它通过计算与某个用户感兴趣的变量相关的语句集来分解程序。程序切片技术在软件工程领域有广泛的应用,例如程序理解、度量、调试、维护、测试以及反向工程等。Java程序切片工具作为哈尔滨工大慧通新意信息技术有限公司Java度量系统中的一个子系统,采用层次模型体系结构,基于
4、Eclipse平台,应用Java设计模式中的访问者模型,以基于数据流方程程序切片技术为基础,设计实现了一套基于数据流方程切片算法的适用于Java程序的切片工具。本文首先分析了国内外相关的程序切片工具,在此基础上,结合程序切片技术在Java语言程序中的功能和非功能需求,根据需求给出了用例分析模型,设计了系统的层次结构,确定了基于Eclipse的Java程序切片工具的总体功能结构。系统功能模块包括文件读取模块、语法分析模块、代码统计模块、信息存贮模块、程序切片模块、变化影响分析模块和结果显示模块。其次,对各个功能模块进行了详细设计,给出了系统类图,并依据给出的
5、每个功能模块的程序流程图和次序图进行实现,对主要的数据结构进行了描述。其中,深入分析和改进了程序切片算法,使其在遍历AST语法树时,能够准确地定位并获取节点信息,快速地存贮切片过程中产生的中间数据,为工具的高效运行提出了有效的解决方案。最后,对系统进行了以黑盒测试为主的系统测试,保证了系统功能的完善性和实用性,以满足业务要求。本文完成的切片工具对于软件人员关注变量使用,方便分析理解程序提供了支持和帮助。关键词:程序切片;语法分析;数据流I哈尔滨工业大学工程硕士学位论文AbstractProgramslicingisatechniquewhichcanbeu
6、sedtoanalyzeandunderstandaprogram.Programslicinghasmanyapplicationsinsoftwareengineeringsuchasprogramunderstanding,metrics,debugging,maintenance,testingandreverseengineeringandsoon.JavaprogramslicingtoolisasubsystemofHITHuiTongXinYiInformationTechnologyCo.,Ltd.Thissystemuseslayers
7、oftwarearchitecturewhichisbasedonEclipseplatformandapplicationofdesignpatternsinJavavisitormodel,dataflowequationsbasedprogramslicingtechnology,designandimplementaslicingalgorithmbasedonthedataflowequationsapplicabletotheslicingtoolforJavaprograms.Firstly,thisarticleanalyzesthepro
8、gramslicingtoolfordomesticandfore
此文档下载收益归作者所有