融合模糊测试和形式化验证的RUST测试工具研究

来源 :吉林大学 | 被引量 : 0次 | 上传用户:resumestd
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
Rust语言是一种兼顾了安全和效率的新型编程语言。近70%的计算机漏洞来源自Memory Management,而Rust语言几乎杜绝了此类问题,这样的特性令Rust语言极适合被主要用于一系列系统软件的开发。随着Rust语言走向成熟,它逐渐得到了工业界的广泛关注。微软公司已经将其应用到关键组件的开发中,Amazon,Google,蚂蚁金服等数百家国内外知名公司也开始利用Rust语言满足用户的安全需求;此外,科研界也对Rust语言产生了浓厚的兴趣:自2017年至今,Rust语言已禅联Stack Overflow论坛“最受欢迎编程语言”的榜首达五届之久。Rust程序的井喷也带来了新的需求:绝大多数Rust语言的使用者将程序的安全性视为编程的第一准则,他们希望Rust语言未来能取得更大的进步,Rust程序的安全性可以再迈上一个阶梯——然而当前的开发形势下,Rust语言不可能在短期内实现显著的飞跃。若开发者对Rust程序的安全性有更高的要求,最合理的解决方案是用自动化测试工具对Rust程序进行检测。然而,作为一种诞生时间尚短且安全性极佳的语言,Rust语言测试工具的领域几乎是空白的。当前,国内的Rust研究领域并未提出相应的测试工具;国外的Rust测试工具在数量和技术方面都很贫乏:这些工具基本建立于成熟测试工具的技术迁移之上。其中,Seer工具和Seahorn工具的作者就是将它们的成熟测试工具作了修改以支持Rust语言,后续的改进也被搁置。在软件测试领域中,动态符号执行技术和模糊测试技术的结合在C++与Python程序中取得了很好的表现。模糊测试生成大量测试用例触发目标程序中的错误。而动态符号执行技术通过探索程序路径来发现错误,它利用插桩技术获取路径的约束信息,生成和各条程序路径相对应的测试用例。这两种技术在著名的Driller工具中得以结合,并体现出了强大的潜力。然而,目前Rust领域缺少类似的测试工具,本文将针对这个问题展开工作。本文作出的贡献如下:(1)介绍了模糊测试和动态符号执行技术的结合于主流程序语言测试领域的应用现状,提出了改进此类技术以测试Rust语言程序的设计思路。(2)依据前文提出的方法构建了一个Rust测试工具,Veri Rust。Veri Rust,通过AFL模糊测试工具大量生成输入,快速寻找程序中的隔间部分。同时利用LLVM技术将Rust程序翻译为中间语句IR,在模糊测试工具失效时,应用针对Rust语言进行再集成的KLEE动态符号执行工具,在中间语句上寻找可以通过复杂检查的输入。(3)VeriRust在Rust使用频率最高的两个第三方库组成的数据集,serde_json和url上分别进行了实验。实验结果表明,在Rust常用的第三方库之上,本文提出的工具优于一系列单纯应用模糊测试技术和动态符号执行技术的工具。由此体现了相当程度的可行性和有效性。并进一步证明,结合了硬件行业中的形式化验证和软件测试中的模糊测试技术的一类方法,可通过LLVM中间语言被迁移到Rust语言测试领域。应用此类方法开发的工具在Rust实战中展现高覆盖率和准确率,后续的开发改进具有相当的潜力。综上所述,本文的工作对Rust语言领域实现了具有可贵意义的初级探索。
其他文献
语义分割作为计算机视觉领域的一个热门研究分支,在无人驾驶、医疗图像分割等领域具有重要的应用价值。语义分割是像素级别的分类任务,对输入的图像进行逐像素分类。在无人驾驶任务中,路况场景检测是需要重点关注的内容。实时语义分割可以对道路驾驶场景进行分割,帮助无人驾驶系统了解路况信息,及时做出决策。传统自动驾驶技术首先通过传感器采集驾驶环境的数据,然后利用算法进行数据分析,最终按照分析结果来控制车辆。而基于
学位
在新一轮基础教育课程改革过程中,发展学生的核心素养是基础教育改革与发展的重难点。在初中数学教学中培养学生的核心素养是较重要的教学任务,教师需准确把握核心素养的内涵、厘清核心素养培养与数学课堂教学的关系,从教学目标精准化、教学内容深度化、教学模式多元化等维度来构建数学高效教学课堂。文章基于核心素养视角,从“问题”和“策略”出发,探索了初中数学课堂核心素养发展的有效路径。
期刊
期刊
<正>在培养学生数学素养的过程中,教师要引导学生学会用数学眼光观察现实世界、用数学思维思考现实世界、用数学语言表达现实世界,而这些素养的形成需要教师做好每一次的教学准备,让学生在日常学习中实现相应能力的获取,进而实现综合素养的不断提升。本文从不同的教学方法入手,如打造教学情境、运用信息技术、实施课前预习等,分析在数学教学中培养学生核心素养的有效策略。一、初中数学教学中落实学生核心素养培养的意义(一
期刊
培养学生核心素养是新课程教育理念中的重要一环,也是初中数学教学的重要目标.文章首先从初中教学需要解决的问题入手,然后结合典型案例,深入探讨将核心素养融入初中课堂的教学方法.通过对现有初中教学方法的分析,研究出优化课堂教学并将核心素养融入初中课堂的教学方法,以期为初中数学教师提供教学参考.
期刊
初中数学教育教学作为义务教育阶段学校教育的重要组成部分,教师应当根据新课标提出的核心素养培育要求,实现教学方法的优化。基于此,本文分析了核心素养视角下优化初中数学教学方法的逻辑动因,并通过教学案例,深入探讨了优化初中数学教学方法的对策,希望能为从事初中数学教学的同仁提供有益借鉴。
期刊
随着经济的快速发展,车辆在人们的日常生活中越来越普及,已经成为出行必备的交通工具,停车难的问题也随之而来并且日益突出。之所以停车难,一方面由于停车位数量不足,无法满足停车位的巨大需求;另一方面,司机无法及时、准确获取附近空闲停车位,导致停车位利用率不高。这不仅造成了资源浪费,在交通安全、环境治理等方面带来的影响也不容忽视。为了使司机能够快速获取车位信息,解决停车难问题,本文研究了车辆检测算法,并基
学位
当今计算机视觉发展迅速,作为计算机视觉的一个重要组成部分,三维重建技术在医学成像、增强现实和自动驾驶等应用中起到重要作用并日益促进人们的生产生活发展。三维重建利用已知相机参数从一组校准的2D图像中恢复场景的3D几何形状,重建出的点云能够更加直观的解释各个物体的空间位置关系。因此,研发出准确性高、完整性强的三维点云重建算法成为越来越重要的研究课题。三维点云重建研究主要分为两类,分别是基于传统方法的三
学位
国内汽车保有量不断增高给城市交通带来了许多问题,所以交通智能化是未来的一个重要发展趋势。而车联网V2X技术则可以让车辆在行驶过程中可以实时与其他车辆和设备通讯,提前对车辆做出危险提醒并且预先规划车辆的行驶路线,提升驾驶的安全性降低交通事故的发生率,同时还可以通过多车协同和车路协同的方式提升道路内车辆的通行效率。本文对国标《合作式智能运输系统车用通信系统应用层及应用数据交互标准(第二阶段)》中定义的
学位
单细胞转录组学数据是现代系统生物学的重要数据类型之一,越来越多地用于各种生物医学研究,从而为复杂的细胞生态系统和潜在的分子相互作用关系提供新的解释。单细胞转录组测序技术(scRNA-seq)允许在不同条件下测量来自多个生物样本的数千个单细胞的转录组信息,其表达量可以反映细胞的总体特征。如今单细胞转录组学已经被广泛地用于解决细胞异质性问题。随着公共数据库中单细胞转录组数据的快速积累,如何利用现有的注
学位