Advertisement

LLVM编译器中的动态程序切片

  • 5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:ZIP


简介:
动态程序切片是一种在单次程序执行中准确识别影响特定值指令的方法。Giri通过LLVM编译器实现了对动态向前切片的支持。 安装 可通过运行以下命令轻松完成: docker pull liuml07giri 您也可以按照以下步骤进行操作: 1. 您可以自行按照以下步骤进行操作:或者,您可以自己 2. 请参考我们的文档获取更多信息。 3. 项目最初由 UIUC 的 John、Chase 和 Vikram 在 2013 年加入 Giri的改良工作。清华和于2013年6月加入了Giri的开发团队。 4. 如果在研究项目中使用了相关工具或内容,建议参考我们的原始论文进行引用。 [1] Swarup Kumar Sahoo,John Criswell,Chase Geigle 和 Vikram Adve。利用可能的不变量进行软件故障自动定位。ASPLOS 13

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Python LLVM: 基于 py2llvm Python
    优质
    Python LLVM 是一个基于 py2llvm 项目的 Python 编译器,它将 Python 代码编译为低级虚拟机 (LLVM) 中间表示语言,并最终生成高效的机器码。 PythonLLVM是用于Python的LLVM编译器工具包。
  • NOCc:基于LLVM自我托管C
    优质
    NOCc是一款创新型的C语言编译器,它采用LLVM框架实现自我托管能力,能够在多种平台上高效地编译和运行C程序。 nocc:基于LLVM的自托管C编译器。
  • 使用mingw73_64为QtMySql驱
    优质
    本项目采用MINGW73_64编译器,针对Qt环境定制开发了MySQL数据库驱动的动态链接库,旨在提升Windows平台下C++应用程序与MySQL数据库交互的效率和便捷性。 Qt版本:5.12.12 编译器版本:MinGW73-64 说明:已经编译好的MySql驱动动态库包含四个文件: - libqsqlmysql.a - libqsqlmysqld.a - qsqlmysql.dll - qsqlmysqld.dll 使用方式:将这四个文件复制到D:\Qt\Qt5.12.12\5.12.12\mingw73_64\plugins\sqldrivers路径下即可(注意这是我的Qt安装路径)。
  • 非常经典工具
    优质
    这是一款经典的静态程序切片工具,能够高效地分析和提取源代码中与特定点相关的所有依赖信息,适用于软件维护、测试及理解。 静态程序切片工具.zip
  • libwebsocket在VS2008库和静
    优质
    本项目旨在介绍如何在Visual Studio 2008环境下为libwebsockets库构建动态链接库(.dll)与静态链接库(.lib),适用于网络通信开发。 libwebsocket支持静态库和动态库的编译,并且需要OpenSSL,在VS2008环境下可以进行开发接入。
  • JSONCPP在VS2010库与静
    优质
    本文介绍如何在Visual Studio 2010环境下编译JSONCPP库,并详细讲解生成动态链接库和静态链接库的过程及配置方法。 本资源提供jsoncpp 编译库适用于vs2010环境,并包含静态库和动态库,使用起来非常方便。
  • x86_64 QtFCITX插件链接库
    优质
    这是一款针对x86_64架构编译的Qt程序用FCITX输入法框架插件的动态链接库,用于增强或扩展特定应用程序中的输入功能。 已编译的适用于Linux环境的Qt程序无法使用Sogou输入法等基于fcitx的输入法动态链接库libfcitxplatforminputcontextplugin.so(x86_64)。经过测试,Qt 5.11.0版本可以用于Archlinux、Manjaro(x86_64)和Mathematica 12中,解决了帮助文档搜索框等无法输入中文的问题。理论上可应用于其他Linux发行版(x86_64)和其他Qt程序中。在Mathematica中将该文件复制到[PATH]/SystemFiles/Libraries/Linux-x86-64/Qt/plugins/platforminputcontexts路径下即可使用。
  • TinyCompiler:采用Flex、Bison及LLVM构建C语言,支持LLVM IR与Obj代码生成...
    优质
    TinyCompiler是一款基于Flex、Bison和LLVM开发的简易C语言编译器,能够生成LLVM IR或目标机器码,适合于学习和小型项目使用。 TinyCompiler序言项目概述 本项目是一个基于Flex、Bison以及LLVM库的类C语言编译器实现,使用了C++11标准。该项目通过Flex和Yacc对源代码进行词法分析与语法解析,并在完成语法分析阶段后生成抽象语法树(AST)。随后根据定义于LLVM IR中的中间表示规则输出机器无关的中间代码。最后,项目调用LLVM库提供的后端模块接口将上述中间代码转换为针对本地指令集和操作系统架构的目标二进制文件。 编译后的目标代码可以直接用于创建初始化文件或与其他目标代码链接生成可执行文件。本项目的语法解析功能涵盖了一个C语言子集的定义与实现,尽管部分语法规则有所差异,并会在测试用例中进一步阐明这些区别。当前支持的数据类型包括:void、整型、浮点数、双精度浮点数(原文中的烧焦串可能是笔误或特定术语,在标准编程上下文中没有对应含义,这里假设为误输入)、字符串和布尔值以及自定义结构体样本(含多维数组)。主要支持的语法包括:变量声明与初始化(仅支持一维数组细分初始化,不支持直接对多维数组进行整体赋值操作);函数声明及调用、外部函数声明和使用;控制流语句如if-else、for循环以及while循环等,并允许任意层级嵌套应用;单行注释功能通过#符号实现。此外还提供了二元运算支持。 以上为项目基本概述,详细特性将在后续文档中进一步说明。