基于CEGAR的C程序空指针解引用检测

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:Gemini
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机硬件技术的发展,计算机软件系统的复杂性越来越高,所涉及的代码量越来越大,同时程序中的错误和问题隐患也越来越多。因此,如何提高软件系统的可靠性和安全性已成为计算机软件领域的一个紧迫需求。软件模型检测技术是提高程序可靠性和安全性的重要途径。该技术可以自动化地验证程序是否可以满足一些关键性质。C语言是目前软件领域最为广泛使用的编程语言之一。它的语法规范比较灵活,尤其是对指针的使用,稍微不注意,就会导致程序崩溃。在C程序中,对指针的不正确使用,会带来如内存泄露,指针未初始化、多次释放,以及空指针解引用等问题。本文研究基于CEGAR技术的C程序空指针解引用的检测算法。首先,实现了基于CEGAR的C程序PPTL模型检测算法。在此基础上,通过PPTL公式来描述空指针解引用的特征,进一步检测C程序中是否存在空指针解引用的问题。为了提高验证的自动化水平,本文通过对C源代码进行扫描,对所涉及到的指针自动产生待验证的PPTL性质,避免了手动在C程序中加入断言所带来的麻烦。在以上方法的基础上,实现了基于CEGAR的C程序PPTL模型检测检测工具:PPTLChecker。该工具可以支持PPTL公式描述的程序性质的验证,实现了对程序中空指针解引用问题的自动化检测功能。实验结果表明,PPTLChecker在C程序空指针解引用检测中有着实际的应用价值。
其他文献
亚硝酸盐在食品中的重要作用之一是促进肉制品产生粉红色泽,但由于其潜在的致癌性,使其应用受到限制。本文对目前研究的各种微生物在替代亚硝酸盐发色中的作用进行综述,对其
将75只昆明系雄性小鼠,随机均分为5组(n=15):对照组、富硒益生菌组、益生菌组、亚硒酸钠组和有机硒益生素组,实验期为30d。比较了各处理组中小鼠增重、抗氧化力(全血GPX和血
员工知识共享是促进组织学习型氛围形成进而有益于组织发展的组织公民行为,强调从精神层面对员工施以柔性管理的新型领导理论—精神型领导,更能激发员工的积极行为。基于内在
以水提醇沉工艺,采用单因素和正交试验设计研究料液比、提取时间、提取温度和提取次数对牛蒡菊糖提取率的影响,得到牛蒡菊糖提取的最佳工艺条件组合为料液比1:10(m/V)、提取时间
采用真空气调包装和茶多酚、迷迭香等及其复合天然抗氧化剂对切块干腌火腿进行抗氧化处理,通过正交试验研究不同气氛条件、抗氧化剂及贮藏温度和时间对干腌火腿抗氧化的影响
采用原子吸收分光光度计测定了新疆岩蜥(Laudakia stoliczkana Blanford)和塔里木岩蜥(Laudakia tarimensis Zugmayer)全体、肌肉与皮肤中的K、Ca、Na、Mg、Fe、Zn、Mn、Sr、Cu、
大量的施工实践工程发现,页岩气、石油、煤层气等化石能源的开采与岩石内部微裂隙的存在与扩展息息相关,裂缝内部网络发育程度越高,越有益于石油天然气等化石资源的开发。因
随着我国社会经济的飞速发展,道路桥梁施工项目为我国的社会经济发展起到了非常关键的作用,但是由于在道路桥梁工程项目施工过程中由于施工质量管理不到位,所以很容易出现沉
由于乳酸菌缺乏各种生物合成途径,不能合成生长必需的一些氨基酸、维生素等物质,营养要求也十分苛刻。乳酸菌拥有胞外蛋白酶,水解乳中酪蛋白形成寡肽和氨基酸,通过寡肽转运系
<正> 海南人移居海外的历史较早。唐宋年代,由于海盗横行崖州,海南人遂被掠卖至南洋,留居当地者,便成为早期的琼籍华侨。明清时期,由于受郑和七次下西洋的影响,南海航道空前