摘要:
Mio Mio是一个快速,低level的Rust库,旨在non-blocking APIs and event notifications。 Poll监视系统传输过来的events并封装为Event然后分发给所有注册了的处理器。 // `Poll` allows for polling of rea 阅读全文
摘要:
Abstract 背景: 传统fuzzer:难以抓住keywords等信息 Constraints-based test generation: 根据path上的conditions来拓展uncovered code,但是存在条件过于复杂会导致path explosion的问题 本文-一个基于inp 阅读全文
摘要:
Abstract 背景:Language processors,比如编译器或者解释器,很重要,但是现在的fuzzer却大部分不能够生成具有足够语法正确性的种子,或者只针对一种或几种languages 本文: 提出工具PolyGlot 特点: generic fuzzing framework + h 阅读全文
摘要:
Abstract DBMS往往要求输入符合语法和语义规范,这导致传统fuzzer效率很低。 本文: 提出工具Squirrel 特点: 同时考虑language validity和coverage feedback 设计IR(Intermediate Representation) dependenc 阅读全文
摘要:
程序编译过程 源码首先经过Scanner/Lexer做词法分析成为token stream,接着,再经过parser做语法分析成为AST抽象语法树,对于大多数语言来说,接下来的一步是类型检查Type checker,然后,Translator将经过检查的Decorated AST转化为较底层的表示法 阅读全文
摘要:
Static Analysis Static analysis analyzes a program P to reason about its behaviors and determines whether it satisfies some properties before running 阅读全文
摘要:
复习 以下函数是否是单调的? f(x)=x-1:T 处处可导,且导数处处不为0的函数 例子:f(x)=1/x,x不为0(因为定义上x就不为0,所以不必考虑0这个点) 求集合x的补集 若以集合间被包含的关系作为偏序,则是 f(x)=g(h(x)) 单调,分别讨论gh增减性相同和增减性相异两种情况 f( 阅读全文
摘要:
近似方案-忽略所有条件判断,认为所有分支都能到达 对停机问题分析, 此时还是分不出来到底是否停机。 或者可以将条件抽象为不确定选择。 这种情况下,抽象程序的潜在执行路径是远远超过真实执行路径数量的。(这里条件本身是不会再改变数据的) 为了优化,不在路径末尾做合并,在控制流汇合的所有位置提前做合并(这 阅读全文
摘要:
能否彻底避免软件中出现缺陷? Testing shows the presence, not the absence of bugs -- Dijkstra 首先从整个图灵机的所有潜在程序来说,bug是不可能完全被找到的, 引入Hilberts Program,那么Hilber's Program是 阅读全文
摘要:
1. Introduction ASA(Automatic Static Analysis)主要有两大潜在应用: 预测含有潜在漏洞的软件组件,Vulnerablility prediction modeling(VPM) 优化断点推荐, optimum checkpoint recommendati 阅读全文