考虑指针别名的静态分析技术研究

来源 :电子科技大学 | 被引量 : 0次 | 上传用户:hackrx123456789
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
虽然当今编程语言层出不穷,但C语言作为主流语言仍然被广泛地应用到各种系统的开发中。因为当今软件开发的成本越来越高,如果稍有不慎,就可能造成很严重的软件故障,从而造成相当严重的经济损失。应这方面的需求,软件测试工具应运而生。作为软件测试工具,静态代码分析工具不用执行源代码程序就可以检测软件中的错误或者是缺陷,再加上它对成本的要求比较低,所以被越来越多的公司所采用。尽管当前静态代码分析工具种类繁多,但是都存在着指针别名分析不够准确的问题,有的工具忽略指针别名分析,有的工具则采用其他形式来代替指针别名分析。由于指针别名分析的好坏将直接影响到静态分析工具代码分析的准确率,所以针对当前代码分析工具存在的这些问题,设计和实现了指针别名分析算法,并将此算法应用到自行开发的工具CChecker中。指针别名分析分为过程内指针别名分析和过程间指针别名分析。过程内采用对控制流图进行数据流分析的方法,通过遍历程序的控制流图,记录下函数、参数、变量的使用情况,并且根据C语言的独特性设计了C语言别名的规则集和关于C语言的过程内指针别名分析方法,并通过实例来验证了方法的正确性。因为C语言存在着参数传递和全局变量,使得过程内分析还不够完善,需要引入过程间的指针别名分析,通过拓展调用图生成程序的联系图,增强联系图的属性,实现了C语言过程间的指针别名分析算法。本论文在参考CTree的基础上,使用面向对象的方法自行设计和实现了考虑指针别名的静态代码分析工具CChecker,设计了静态代码分析系统的架构图和系统的各个功能模块,给出了代码分析的流程图,介绍了源代码静态分析工具中主要的类和接口。考虑到缺陷或错误的级别、用户关注点和文件路径等等因素的影响,有针对性地设计了静态分析工具的命令。通过和静态代码分析工具CppCheck做比较,CppCheck没有考虑指针别名分析,可以看出本工具在代码分析的准确率上有了一定的提高,并且从实际应用中证实了该工具的实用性。
其他文献
采用高效液相色谱-离子阱质谱建立同时测定谷物中15种除草剂残留量的方法。样品经乙腈提取,氟罗里硅土固相萃取柱净化,然后采用HPLC-ESI-MS/MS进行测定。15种除草剂在0.01~10m
摘 要:东西部扶贫协作和对口支援,是中共中央、国务院关于推动区域协调发展、协同发展、共同发展的大战略,是加强区域合作、优化产业布局、拓展对内对外开放新空间的大布局,是打赢脱贫攻坚战、实现先富帮后富、最终实现共同富裕目标的重大举措。实施东西部扶贫协作教育对口帮扶,就是要以习近平新时代中国特色社会主义思想为指导,认真学习习近平总书记关于教育工作的重要论述,把“立德树人”根本任务贯穿教育全过程,全面推进
采用木瓜蛋白酶和风味酶的复合酶解罗非鱼蛋白,制取富含多肽的酶解液;并将酶解液中的多肽与Ca^2+反应制备多肽-钙螯合物,探讨反应液的pH值、反应温度、反应时间、多肽与CaCl2
摘 要:如今在面临资源保护和供需矛盾下,竹子因具有较高生态价值、经济价值、人文价值等优点,成为木材的理想替代材料应用到现代家居设计中。在此应用过程中应遵循竹子在现代家居设计中的设计原则,使竹子更好的应用到家居产品的设计中。使竹制家居产品实现传统与创新的结合、功能与形式的结合以及环保与经济的结合。在此过程中产生的新技术以及新的设计理念将会促进家居产品设计的发展。  关键词:竹子;现代家居;产品设计;
抗战时期,党领导陕甘宁边区根据战争、经济和社会发展的需要,适时调整了行政区划,确立了"三级两辅"行政区划层级结构,形成了一些独具的制度特色。陕甘宁边区行政区划制度的创
脱脂大豆粉添加至小麦粉后,面团的流变学特性呈劣变趋势。随着脱脂大豆粉添加量的增加,面筋网络结构被破坏,面团筋力下降。吸水率、形成时间和稳定时间三项粉质参数以及拉伸面积
应用NBS、DEPC、EDC、DIC、Ch.T、PMSF和DTT化学修饰剂对Aspergillus ficuum产内切菊粉酶和外切菊粉酶进行化学修饰,测定与其活性相关的氨基酸残基,结果表明,构成内切菊粉酶和外
本文基于笔者实践经验,针对岩土工程基础地质勘察技术进行简要探析,主要阐述了岩土工程勘察工作,其主要内容包括:岩土工程的特征,岩土工程勘察工作的目的以及岩土勘察内容。
随着互联网技术的飞速发展,方便、快捷、高效的物联网通信技术被应用到各行各业中,成为人们工作生活不可或缺的重要组成部分,消防行业与时俱进,基于物联网的城市消防远程监控
目的:研究灵芝肽(Ganoderma lucidum peptides,GLP)在体外对人肝癌HepG2细胞增殖抑制及诱导凋亡的作用。方法:HepG2细胞用含不同浓度GLP培养基培养12、24、36、48、60h,GLP分为5个