欢迎来到天天文库
浏览记录
ID:35151148
大小:2.73 MB
页数:63页
时间:2019-03-20
《浅谈内存泄漏静态检测模型的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、北京邮电大学硕士学位论文内存泄漏静态检测模型的设计与实现姓名:柯平申请学位级别:硕士专业:计算机科学与技术指导教师:陈俊亮20090201北京邮电大学硕士研究生学位论文摘要内存泄漏静态检测模型的设计与实现摘要C程序中内存泄漏的检测是C程序软件测试的重点和难点之一。由于C程序具有灵活高效的优点,从C语言的诞生到现在,都作为一种主流程序设计语言_直被广泛使用。C语言使得用户能够直接控制程序内存资源的使用,这对于实现运行程序的高性能或提高计算机资源的利用率是至关重要的。但正是因为C语言中灵活的内存管理机制,使C程序很容易产生内存泄漏等内存方面的程序错误。内存泄漏故障在C中是非常危险
2、的,通常难以观察到的,但随着故障的积累,程序的整体性能会下降,严重时会导致死机或异常退出。因此内存泄漏的检测至关重要!本文首先研究了内存泄漏检测技术的发展情况以及内存泄漏的特征和产生原因,并分析了国内外常见的内存泄漏检测方法,包括静态检测法、动态检测法等,并对比他们的优缺点。之后本文实现了静态检测工具DTSC,实现了对程序的语法分析,词法分析,生成符号表和控制流图,并在此之上实现了对程序中各个变量的区间分析,使得分析的准确性大大提高。之后实现了拓展性强的缺陷模式状态机,搭建了一个针对故障的强有力的静态检测平台。然后通过研究C语言中内存泄漏故障产生的错误代码,总结出产生内存泄漏
3、代码的模式。根据这些的模式设计并实现DTSC的内存泄漏模型,并用该模型对C程序进行检测。最后,本文将检测结果与国外静态检测工具的检测结果进行比较,分析DTSC和内存泄漏模型的优点和不足,并完善内存泄漏模型,提出DTSC改进方案。关键词:内存泄漏;静态测试;区间分析;缺陷模式;状态机硼HEDESIGNANDIMPLEMEN咖0NOFS1=舰CMEMORYI甩AKDETECTIONMODELItisthemostdifficultissuetodetectmemoryerrorsinsoftwareofC.舡theClanguagehastheadvantageofflexibi
4、lityandefficiency,fromitsbornuntilnow,itisthemainprogramminglanguagewhichhasbeenwidelyused.Clanguageallowsuserstocontroltheuseofmemoryresourcesdirectly,whichisveryimportantforhigh—performanceorhignutilizationofcomputerresources.Buttheflexiblememorymanagementmayleadtomemoryleaksandothermemor
5、yerrors.InCprogramsmemoryleakiSverydanger’itiSdifficulttobeobserved.However,withtheaccumulationoffailures,theandfinallyitwillleadtoseriousmemoryleakdetectioniscrucial!program’Sperformancewillbelower,crashorunexpectedlyquit.ThereforeFirstofall,thispaperresearchesonthememoryleakdetectiontechn
6、ology,andanalyzesthemethodsofmemoryleakdetection,includingstmictesting,dynamictesting,andcomparetheiradvantagesanddisadvantages.ThentheauthorbuiltthestatictestingtoolsDTSC,realizeditssyntaxanalysis,lexicalanalysis,symboltableandcontrolflowgraph,baseonthese,theauthoraddedtheintervalanalysiso
7、feachvariabletoimprovetheaccuracyoftheanalysis.Afterthattheauthorbuiltupastatictestingplatformonbasisofstatemachinewithstzongexpansion.AndthenbystudyingandsummarizingtheClangugecodeswhichwillgeneratememoryleakfault,designandimplementmemoryIII北京邮电大学硕士研究生学
此文档下载收益归作者所有