欢迎来到天天文库
浏览记录
ID:32288041
大小:2.43 MB
页数:63页
时间:2019-02-02
《java程序维护中基于别名的分析错误诊断技术与工具》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、摘要在纠错性软件维护中,相当大一部分错误是由于程序对别名表达式指向的对象进行了误操作而引发的。因此,针对别名引发的软件错误,本文讨论了基于别名分析的错误诊断技术,以及基于别名分析的错误诊断工具的设计与实现。别名分析是在程序运行过程中,提取可能指向同一内存地址的表达式集合的一种技术,对程序分析起着十分重要的作用。在实际软件维护支撑工具中,主要关心的问题是分析的时间复杂度和分析结果是否可以有效地重用。因此,根据软件维护的特殊要求,本文采用了分阶段、基于知识库与增量式的分析策略。以单个方法为模块构造其别名
2、关系图、控制流图,当被分析程序的某个部分发生改变时,并不需要对整个程序重新进行一次分析,而只需对发生变化部分及其相关区域重新分析,将其分析后的结果对程序信息知识库中原有信息进行更新,其知识库信息采用XML文件进行描述存储。这种分析策略提高了分析结果的可重用性。整个分析策略通过两个具体分析阶段来实施,第一阶段主要进行类内别名分析,并将分析的结果作为程序信息的知识库,第二阶段基于程序信息知识库进行类间别名分析。在第一阶段分析中,主要分析类内每个方法的别名信息集,本文对传统的流敏感的跨方法别名分析方法进行
3、适当的改造,应用于类内别名分析。另外,本文针对异常结构构造了包含异常结构的控制流图,这为含有异常结构程序的方法内别名分析提供了支持。第二阶段分析主要是类间别名分析。在此阶段中,根据软件运行中暴露出的具体错误,用户设置出相应的别名标准,然后基于知识库XML中存储的类内别名信息和程序的方法调用信息,使用本文设计的别名计算算法,计算出与别名标准相关的别名信息。关键词:控制流图流敏感分析别名关系图别名分析软件维护AbstractInsoftwaremaintenance,quitealotoferrorsa
4、regeneratedbyincorrectoperationsofallaliasexpressiontoanobjectwhichthatexpressionrefersto.Forsoftware-relatederrors,thispaperdiscussedthealiasanalysisbasederrordiagnosistechnique,aswellasthedesignandimplementationofaliasanalysisbasederror-diagnosistool
5、s.Aliasanalysisisawayforextractingasetofexpressionswhichmayrefertothesamestoragelocationinprogramexecution,anditisveryimportantforprogramanalysis.Astopracticaltoolsforsoftwaremaintenanceandsupport,thetimecomplexityofananalysisandeffectivereuseofanalysi
6、sresultsarethemainconcern.Therefore,accordingtospecialrequirementsinsoftwaremaintenance,thispaperadoptsamulti-stageanalysisstrategybasedonknowledgebaseandincremental.Takeasinglemethodasamoduletoconstructitsaliasrelationgraphandcontrolflowgraph,whensome
7、partoftheanalyzedprogramchanges,weneednotanalyzethewholeprogramagain,onlychangedpartsandcorrespondingthingshavetObere—analyzed.AnalysisresultsupdatetheorigirlalinformationinprogramknowledgebaseinwhichtheinformationisdescribedandstoredwithXML.Thisanalys
8、isstrategyimprovesthereusabilityofresults.Thewholestrategyconsistsoftwoanalysisphases.Thefirstphasefocusesonaliasanalysisintra-classclasses,andtreatsanalysisresultsastheknowledgebasefortheprograminformation.Thesecondphaseisaboutinter-cl
此文档下载收益归作者所有