#Staitc Analysis
Understanding and Detecting Real-World Safety Issues in Rust 阅读
Understanding Memory and Thread Safety Practices and Issues in Real-World Rust Programs 阅读
MirChecker: Detecting Bugs in Rust Programs via Static Analysis 阅读

本文主要从以下2点来进行错误的检测:

  • 利用 Rust 编译器在编译时为无法检查的安全条件自动生成的断言,以其为验证条件,检查例如越界访问和整数溢出等问题。
  • Unsafe code 破坏所有权系统,导致悬空指针、共享可变别名等问题。
CP-Miner: A Tool for Finding Copy-paste and Related Bugs in Operating System Code 阅读

在做开题报告的时候找到了这篇论文,挺巧妙的想法,简单记录一下其思路。

Getting Started with LLVM Core Libraries 阅读

TODO.

Push-Button Verification of File Systems via Crash Refinement 阅读

本文提出了 Yggdrasil,Yggdrasil 是一个工具包,可用于编写具有一键验证功能的文件系统。它通过一种称为崩溃细化的新颖正确性定义实现自动化验证,无需手动注释或证明实现代码,并在出现错误时生成反例。崩溃细化适用于完全自动化的 SMT 推理,并使开发人员能够模块化地实现文件系统以进行验证。 Yggdrasil的开发流程

Scaling symbolic evaluation for automated verification of systems code with Serval 阅读

这篇论文介绍了一个名为Serval的框架,用于通过符号执行来对系统代码进行可扩展的自动化验证。

Serval的核心思想是将开发人员使用Rosette编写指令集解释器并转化为自动化验证器,从而实现系统软件的验证。这一框架通过符号性能分析和优化来识别和修复验证性能瓶颈。作者通过将Serval应用于现有的系统和未经验证的系统中,展示了其在找到系统错误和提高验证效率方面的有效性。

Hyperkernel: Push-Button Verification of an OS Kernel 阅读

修改xv6的内核接口,构建状态机规范和声明式规范以支持SMT(Satisfiability Modulo Theories)求解器来进行验证。通过有限化内核接口,使用硬件虚拟化简化虚拟内存推理,并在LLVM IR级别工作,以避免对C语义进行建模,从而实现了"一键验证"。

Cross-checking Semantic Correctness: The Case of Finding File System Bugs 阅读

主要思路是统计多个文件系统的实现,计算具体文件系统与多个文件系统总体之间的差异性(直方图/信息熵),从而窥探出其文件系统的具体实现在语义上的差异。

账号
访客
本站总访问量 本站访客数