首页 > TAG信息列表 > 基本块

【论文分享】 Regression Greybox Fuzzing

CCS 2021 的一篇关于模糊测试的文章,主要是利用git commit 的日志来去指导模糊测试,去测试最近变化过和变换频繁的代码区域。 简介 What you change is what you fuzz !在OSSFuzz里生成的报告里,大约77%的漏洞报告都是回归型的。对于一个新加进来的项目,每天可能会有2-3个漏洞

9. 代码生成

9. 代码生成 代码生成的核心问题; 指令选择寄存器分配指令调度 指令选择 为每条中间语言语句选择恰当的目标机指令或指令序列 首先原则是保证语义的一致性 直接为中间语言语句找到语义一致的指令序列模板: a=b+c MOV b, R0 // 将b装入R0 ADD R0, c // 将c加到R0 MOV R0, a //

第52篇-即时编译器

一般来说,Java代码会先被HotSpot VM解释执行,之后将统计出的热点代码通过即时编译器C1、C2或Graal编译成机器码,直接运行在底层硬件之上。解释器在之前的文章中已经介绍了不少,但是编译器还没有介绍,关于Java涉及到的编译器如下图所示。 前端编译器就是将遵循Java语言规范的Java源代码

论文学习:Directed Greybox Fuzzing(CCS‘17)

INTRODUCTION        本文引入了定向模糊测试(DGF),专注于到达程序中给定的目标位置。在高层次上,本文将可达性视为算法中的优化问题,并采用特定的元启发式,以最大限度地缩短生成的种子和目标的距离。为了计算种子距离,本文首先计算并插桩每个基本块到目标的距离。虽然种子距离是程

利用AI+大数据的方式分析恶意样本(三十)

文章目录 DeepReflect: Discovering Malicious Functionality through Binary Reconstructionabstractintroductionevolutionsuggestion DeepReflect: Discovering Malicious Functionality through Binary Reconstruction 佐治亚理工学院 开源:https://github.com/e

【编译原理笔记18】代码优化:活跃变量分析,可用表达式分析

本次笔记内容: 8-8 活跃变量分析 8-9 可用表达式分析 本节课幻灯片,见于我的 GitHub 仓库:第18讲 代码优化_3.pdf 文章目录 活跃变量分析 活跃变量 例:各基本块的出口处的活跃变量 活跃变量信息的主要用途 活跃变量的传递函数 例:各基本块B的use_B和def_B 活跃变量数据流方程 计算活

【编译原理笔记16】代码优化:流图,常用代码优化方法, 基本块的优化

本次笔记内容: 8-1 流图 8-2 常用代码优化方法一 8-3 常用代码优化方案二 8-4 基本快的优化 本节课幻灯片,见于我的 GitHub 仓库:第16讲 代码优化_1.pdf 文章目录 流图 基本块(Basic Block) 基本块划分算法 例 流图(Flow Graphs) 例 常用的代码优化方法(1) 优化的分类 常用的优

编译原理教程_10 代码优化和目标代码生成

文章原理 https://gitee.com/fakerlove/fundamentals-of-compiling 文章目录 10. 代码优化和目标代码生成10.1 代码优化概念1) 基本概念2) 优化的种类3) 数据流方程 10.2 代码优化技术10.2.1 局部优化1) 基本块概述划分基本块基本块划分举例 2) 流图3) 基本块的 DAG 表示

南大《软件分析》——Intermediate Representation

南大《软件分析》——Intermediate Representation @(静态分析) Content 编译器和静态分析的关系 AST vs IR IR:3-地址代码(3AC) 实际静态分析器的3AC—Soot(Java) SSA-静态单赋值 基本块(BB) 控制流图(CFG) Compiler and Static Analyzers 中间表示形式IR(通常是三地址码

国外精选视频:编译原理入门4

中间代码 TAC 三位址码是很多编译器都在用的中间表达形式 因为三位址码不特定于某台机器,中间代码的生成可以被认为是前端任务 抛开语言,我们来谈3地址码 对于三位址码,每一条赋值指令的右侧只能有一个操作符,总共最多有三个地址(等号右侧只能有一个操作符,比如t1=y+z,这里t1,y,z都