基于软件模型检测的C程序内存泄漏修复

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:xiaoex11
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,软件应用在工业、农业、军事、科研等领域有了更加广泛的应用。随着应用的更广泛,代码规模的增大、软件系统的复杂度提高、程序中可能出现的各种错误漏洞也越来越多。因此,提高软件系统的安全性与可靠性,保证程序代码的正确性与规范性变的尤为重要。随着SMT求解器的迅速发展,模型检测已经被广泛的使用在代码级别的软件系统的验证,并且一些软件模型检测工具不断发展和不断成熟使得它们可以支持大规模软件系统的验证。模型检测方法的一个显著优点是当期望的性质不满足时能够提供程序违背该性质的反例路径。C语言是程序开发时经常使用的编程语言之一。由于C程序具有灵活的内存管理机制,在C程序中经常会涉及到很多内存的动态分配与使用。但是如果动态分配的内存在使用完后没有及时释放掉会导致程序发生内存泄漏,甚至直接导致程序奔溃。本文研究如何基于软件模型检测工具提供的反例路径去修复C程序中存在的内存泄漏。首先,利用模型检测工具TPChecker自动检测C程序中存在的内存泄漏,并生成泄漏的内存空间对应的所有反例路径。TPChecker是在CEGAR算法改进的基础上实现的。其次,得到所有的反例路径之后,从这些反例路径上提取出与内存分配和使用相关的信息,并把这些信息映射到C程序的控制流自动机上。最后,根据能够正确修复内存泄漏并保证程序正确性的规则对C程序进行安全的修复并得到修复之后的C程序文件。基于本文提出的方法,将检测内存泄漏的部分和修复内存泄漏的部分进行结合,实现了工具CEGFixer用于修复C程序中的内存泄漏。本文将CEGFixer与前沿的内存泄漏修复工具Leakfix进行实验比较。实验结果表明CEGFixer在修复C程序中的内存泄漏方法有着很不错的效果,不仅提高了修复C程序中内存泄漏的比率,而且能够修复的内存泄漏类型比Leakfix多。
其他文献
对未来网络的研究一直是计算机网络研究中重要的一部分。目前科研人员缺乏一种面向未来网络的服务验证实验环境,对应用/服务研究人员来说,由于缺乏先进网络以及与服务创新相
基于人体动作识别技术的人机交互与机械臂控制在医疗康复、虚拟现实以及工业及民用领域有广泛的应用。由于基于二维彩色图像的人体动作识别受环境噪声如光照、复杂背景、阴影
电子优惠券作为电子商务的产物,其功能属性是记录债权债务的载体,属于财产性利益。以电子优惠券为犯罪对象的盗窃行为构成盗窃罪。在网络盗窃中,虚拟财产和财产性利益的法律属性,能否成为盗窃行为对象,窃取虚拟财产的行为定性,被害人的确定,以及犯罪数额的认定等问题,揭示了虚拟财产作为盗窃行为对象的特征。在“窃取电子优惠券案”中,行为人所盗取的电子优惠券本质上是电子数据。电子数据属于计算机语言,是一种无体物,是
52M焊丝是用于修复核电设备的一种材料,可作为不锈钢、Inconel600、Inconel690等材料的焊接填充材料。52M合金高温状态下的塑性陡降和焊接过程中收缩应力同时作用下常会使焊
在全球气候变暖的背景下,以低能耗、低污染为基础的“低碳经济”已成为全球热点,世界各国充分认识到发展低碳经济的重要性并开始着手发展低碳经济。改革开放以来,以高排放、
在农业领域中,大范围、实时、高效地获取农情信息是现代化农业生产和管理的一个重要环节。传统的依靠人工采集和有线测量的数据获取方式在实时性、精确性和便捷性等方面均无法满足精准农业的要求。为了对农作物进行实时、无误和迅速有效的监测,在农业生产中应用数字图像处理技术。由于环境的复杂性和生物的多样性等因素,绝大多数农作物有较为复杂的外观,数字图像处理技术的智能化发展还有很大的空间。作为我国重要的油料及经济作
当代无线通信频谱资源日益紧张,如何利用有限的频谱资源提供更快的传输速率、更高的频谱效率和更大的网络容量成为了下一代移动通信所面临的关键问题。传统的半双工中继(Half
SDN(Software Defined Networking 软件定义网络)是一种新兴的基于软件的网络架构及技术,其显著的特点在于具有松耦合的控制平面与数据平面、支持集中化的网络状态控制、实现
本研究利用河南地区40个规模化奶牛场56306头荷斯坦牛2007年1月~2019年8月的繁殖数据和泌乳性能测定数据,建立性状质控标准、进行二级性状拟合,共17个功能性状和9个生产性状。利用SAS 9.4中广义线性模型(Generalized Linear Models,GLM)过程对功能性状进行影响因素分析,再采用DMU软件中DMU_AI模块结合动物模型、测定日模型估计功能性状和生产性状的方差组分
PET/CT(正电子发射计算机断层显像Positron Emission Tomography/计算机断层扫描Computed tomography)在癌症的诊断、分期、疗效评估等方面发挥越来越重要的作用,但该种设备