SMACK 软件验证工具链

开源网站开源项目 24-04-28 09:50:48

SMACK即是一个模块化的软件验证工具链,又是一个独立的软件验证工具。它可以被用于验证输入程序里的断言。默认模式下SMACK对断言的验证是有对循环/递归的上限。同时,SMACK实现了对无上限的验证的初步支持。SMACK可以处理复杂的C语言特性,如动态内存分配,指针操作,和位运算。

本质上SMACK是一个从LLVM中间语言(IR)到Boogie中间语言的翻译器。使用LLVM IR使得SMACK可以利用大量的支持LLVM IR的编译器,对LLVM IR的优化和分析。目前,SMACK通过Clang编译器实现对C语言的支持。同时,我们也在开发对其他语言的支持。使用Boogie使得SMACK可以利用一个通用的验证平台,该平台简化了对验证方法的实现。目前,SMACK支持Boogie和Corral两个后端验证工具。

SMACK已经用于百度开源项目SGXRay。

对SMACK的安装请参照该文档

对SMACK的使用请参照该文档

对SMACK的使用问题请联系何少博(shaobohe@baidu.com)

[SMACK 软件验证工具链]相关推荐

TODS 自动化机器学习系统

TODS是一个全栈的自动化机器学习系统,主要针对多变量时间序列数据的异常检测。 TODS 提供了详尽的用于构……...

AionChs 永恒之塔java版服务器

AionChs 永恒之塔java版服务器

1、升级奖励系统: 可以自定义设置6个不同等级以及奖励物品,数量 和 升级后系统提示的信息。 例如: 设……...

MaxKey 单点登录认证系统

MaxKey 单点登录认证系统

MaxKey单点登录认证系统,谐音马克思的钥匙寓意是最大钥匙,是业界领先的企业级IAM身份管理和认证产品,支……...

今日开源
  1. Rust Mozilla的编程语言

    Rust Mozilla的编程语言

    Rust 是 Mozilla 的一个新的编程语言,由web语言的领军人物Brendan Eich(js之父),Dave Herman以及Mozilla公司的Graydon Hoare 合力开发。 创建这个新语言的目的是为了解决一个很顽疾的问题:软件的演进速度大……

    开源软件 2024-05-11

  2. Mobile ALOHA全身遥控操作系统:开源AI家务机器人

    Mobile ALOHA全身遥控操作系统:开源AI家务机器人

    Mobile ALOHA低成本的全身遥控操作系统,它可以通过模仿学习人类的行为,学会家务类型的活动。比如操作员演示 50 次煎炒虾,该机器人就可以自主完成炒虾的操作,作者团队还演示了擦玻璃、洗碗、收纳物品等任务。 ……

    Mobile ALOHA 2024-05-11

  3. JPcsp PSP模拟器

    JPcsp PSP模拟器

    PSP模拟器 JPcsp 是一个基于Java的开源PSP模拟器,经过5个月的持续开发,目前推出了0.1版,这是第一个官方正式版本。 这个版本支持了更多的游戏模拟,当然目前并不是所有的游戏都支持,不过还会不断的进行完善。

    开源软件 2024-05-11

返回顶部小火箭