首页 > TAG信息列表 > CMI

Proj CMI Paper Reading: Linear-time Temporal Logic guided Greybox Fuzzing

Abstract 背景:软件模型检查和运行时验证广泛用于检查软件系统时间属性 本文:LTL-fuzzer 任务:构建了一个灰盒模糊测试框架来发现违反线性时间时序逻辑 (LTL) 属性的情况 方法:输入:a sequential program written in C/C++,an LTL property。它发现stateful software中 LTL 属性的violat

Proj CMI Paper Reading: V-Shuttle: Scalable and Semantics-Aware Hypervisor Virtual Device Fuzzing

Abstract 背景: 云计算产品的核心组件是虚拟机管理程序,也称为虚拟机监视器(VMM),可以在⼀台主机上隔离多个虚拟机 破坏虚拟机管理程序可能会导致虚拟机逃逸和特权提升,从⽽使攻击者能够获得在主机中执行代码的权限 虚拟设备向来宾⽤⼾公开了许多⽤于通信的接⼝,这使得虚拟设备成为管理

Proj CMI Paper Reading: Verifying the Long-Run Behavior of Probabilistic System Models in the Presen

Abstract 背景: 验证随机系统在达到平衡时是否处于某种状态具有重要的应⽤。例如,对安全关键系统的⻓期行为进行概率验证,使评估⼈员能够随时检查它是否以⾜够⾼的概率接受⼈⼯中⽌命令。 现有的概率验证器并未考虑模型中概率参数的不精确性 本文: 提出了概率验证技术 解释了随机系

Proj CMI Paper Reading: Time-travel Testing of Android Apps

Abstract 背景: Android 测试⼯具会⽣成输⼊事件序列来运行被测应⽤的状态空间。 对事件序列突变,原先序列所对应的app状态可能无法被突变序列访问到,相当于被截断了 本文: 工具:TimeMachine 基于Monkey 任务:进化一组状态,states which can be captured upon discovery and resumed wh

Proj CMI Paper Reading: The use of man in space

Abstract 背景: 哪些是使用人类进行科学和技术活动的设计的基础;并且这种经验是以高成本获得的,不适用于目前正在研究的系统。 假设: 人类在太空中没有独特的用途,没有绝对需要人类才能成功完成的太空目标。 本文 任务:讨论人工的权衡,集中于人工使用的标准和大范围的工时成本。 结果: 人

Proj CMI Paper Reading: Reinforcement Learning-based Hierarchical Seed Scheduling for Greybox Fuzzin

Abstract 背景: 细粒度的覆盖指标可以让模糊器检测到传统边缘覆盖⽆法覆盖的错误 现有算法⽆法有效地调度种子 本文: 工具:AFL++-HIER 方法: 多级覆盖度量 基于强化学习的分层调度 实验: 数据集:DARPA CGC 效果: 明显优于AFL和AFLFAST :它可以检测到 20% 以上的错误,对 180 个挑战中的

Proj CMI Paper Reading: Predicting Patch Correctness Based on the Similarity of Failing Test Cases

Abstract 背景: 我们如何知道⽣成的补丁是正确的?这一问题对自动程序修复重要 前提: 我们可以通过检查每个⽣成的补丁(这句话表达很有问题)是否实现与它所解决的错误相关的代码更改(即行为)来对正确的补 丁进行分类。这样的错误通常由失败的测试⽤例显示。we can triage correct patches

Proj CMI Paper Reading: Registered Report: DATAFLOW Towards a Data-Flow-Guided Fuzzer

Abstract 背景: 由数据流覆盖驱动的模糊器受到的关注相对较少,主要出现在使⽤重量级程序分析。不幸的是,这些 更准确的分析会导致较⾼的运行时间损失,从⽽阻碍模糊器的吞吐量。 控制流模糊测试的轻量级数据流替代⽅案仍未探索。 本文: 工具:DATAFLOW 任务:由轻量级数据流分析驱动的灰盒

Proj CMI Paper Reading: Registered Report: Fine-Grained Coverage-Based Fuzzing

Abstract 背景: 分⽀覆盖仅提供程序行为的浅层采样,因此可能会丢弃可能对变异感兴趣的输⼊ 本文: 任务:定义更细粒度的代码覆盖率,不改变现有Fuzzer 方法: 通过将这些指标定义的测试⽬标(例如要杀死的突变体mutants to kill)明确地作为⽬标程序中的新分⽀来实现不改变现有Fuzzer 保留能够

Proj CMI Paper Reading: On the Efficiency of Automated Testing

Abstract 背景: 对比之下,抽样系统而带有成本,随机测试不系统不承担分析成本 本文: 任务:探究系统测试与随机测试的理论效率 方法: 对最有效的系统测试技术S0进行数学建模,其中每个采样测试输⼊都严格增加“置信度”并受分析成本 c 的影响。存在⼀个最⼤分析成本,超过该成本 R(???)通常⽐S0

Proj CMI Paper Reading: MultiFuzz: A Coverage-Based Multiparty-Protocol Fuzzer for IoT Publish/Subsc

Abstract 背景: 发布/订阅模型在物联网 (IoT) 网络中获得了突出地位,消息队列遥测传输 (Message Queue Telemetry Transport, MQTT) 和约束应用协议 (Constrained Application Protocol, CoAP) 都支持它。 现有的基于覆盖的 fuzzer 在对此类发布/订阅协议进行模糊测试时可能会错过

Proj CMI Paper Reading: Mining Workflow Models from Web Applications

Abstract 背景: Web技术便利了软件发布和更新,但也要求持续测试 (Having insight into application behavior through explicit models)用显式模型(?)来深入了解应用程序的行为。例如使用状态和状态转换来创建测试。 描述这种状态行为模式很困难,因为⼈们需要知道两个状态何时是等价的,

Proj CMI Paper Reading: Mining Operational Preconditions

Abstract 背景: 前提:使用某个进程的客户必须要先设置状态,而描述需要做到的状态就是preconditions。A procedure’s client must satisfy its precondition— that is, reach a state in which the procedure may be called. 本文: 任务:推测学习preconditions 方法:使用静态分析来推测

Proj CMI Paper Reading: Mining Sandboxes

Abstract 本文: 工具:BOXMATE 技术:sandbox mining 任务:限定自动化测试期间访问的资源 方法: 通过⾃动测试⽣成来探索软件行为,并提取在这些测试期间访问的资源集。 将该集合⽤作沙箱,阻⽌对测试期间未使⽤的资源的访问。因此,挖掘的沙箱可以防⽌行为变化,例如激活潜在恶意软件、感染、有

Proj CMI Paper Reading: Mining Metrics to Predict Component Failures

Abstract 研究: 任务:What is it that makes software fail? 数据集:post-release defect history of five Microsoft software systems 结论:容易发⽣故障的软件在统计上与代码复杂性度量相关 前提:没有一套简单的复杂性度量能够全面通用地描述软件缺陷 方法:在代码度量上做主成分分析,

Proj CMI Paper Reading: Inputs from Hell Learning Input Distributions for Grammar-Based Test Generat

Abstract 本文: Task: 基于概率文法生成测试用例 方法: 3种生成策略 Common inputs: 通过从通⽤输⼊中学习,我们可以创建与样本相似的输⼊;这对 Uncommon inputs:通过反转概率 Failure-inducing inputs: 从过去导致失败的输⼊中学习,为我们提供了具有相似特征的 实验: 测试集:包含3种常

Proj CMI Paper Reading: Interactive Patch Filtering as Debugging Aid

Abstract 背景: 从根本上保证补丁的正确性是很困难的,本文想探究精度低的修复⼯具是否仍然有⽤? 假设: 不正确的补丁仍然可以帮助理解错误。有了适当的⼯具⽀持,即使有许多不正确的补丁,收益也超过了成本。 本文: 工具:InPaFer 实验: 实验集:模拟实验和30 位开发⼈员的⽤⼾研究 提⾼了开发

Proj CMI Paper Reading: Locating Faults with Program Slicing: An Empirical Analysis

Abstract 背景: 如果⼈类程序员必须搜索超出最佳候选位置的故障,则沿动态切⽚跟踪依赖关系的传统技术可能比统计故障定位更适合 本文: Task:⽐较了统计故障定位与动态切⽚的有效性 实验: 数据集:46 个开源 C 程序中的 457 个错误(369 个单故障和88 个多故障) 效果: 动态切⽚对具有单个故障

Proj CMI Paper Reading: Mining Android Apps for Anomalies

Abstract 本文: 任务:探究根据描述主题对 Android 应⽤程序进行集群,并识别每个集群中的API 异常值 方法:改进CHABADA 实验: 22,500 +个 Android 应⽤程序 效果: predict 74% of novel malware as such, without requiring any known malware patterns, maintaining the false positive

Proj CMI Paper Reading: Mining Input Grammars from Dynamic Taints

Abstract 背景: 前提: 知道程序的哪⼀部分处理输⼊的哪⼀部分可以揭⽰输⼊的结构以及程序的结构 本文: 工具:AUTOGRAM 方法:给定⼀组样本输⼊,我们使⽤动态污染来跟踪每个输⼊字符的数据流,并将那些将由同⼀函数处理的输⼊⽚段聚合成词汇和句法实体来学习上下无关语法 效果: ⾃动为URL、

Proj CMI Paper Reading: Mining Apps for Abnormal Usage of Sensitive Data

Abstract 背景: 前提:恶意应⽤程序对敏感数据的处理⽅式与良性应⽤程序不同 本文: 工具:MUDFLOW 研究: 数据集:从敏感来源挖掘了2,866 个良性 Android 应⽤程序 效果: 对于每个敏感源,数据最终都会出现在少数典型的接收器 这些接收器在良性和恶意应⽤程序之间存在很⼤差异,由于数据流异常,

Proj CMI Paper Reading: Human-In-The-Loop Automatic Program Repair

Abstract 前提: A query can be thought of as the following question: “When executing this alternative test input, the program produces the following output; is the bug observed”? 本文: 工具:Learn2Fix 特点:这是第⼀个在没有 bug oracle(报告错误的⽤⼾除外)可⽤时的huma

Proj CMI Paper Reading: HyDiff: Hybrid Differential Software Analysis

Abstract 背景: 差分软件分析的关键挑战是跨程序变体同时推理多个程序路径。 本文: 工具:HyDiff Task:regression and side-channel analysis for Java bytecode programs 意义:第⼀个⽤于差分软件分析的混合⽅法 方法:集成并扩展了两种⾮常成功的测试技术: ⽤于有效程序测试、考虑控制

Proj CMI Paper Reading: Heaps'n Leaks: How heap snapshots improve android taint analysis

Abstract 背景: 指针分析的误差可能会对安卓app代码的信息流分析造成干扰 静态分析的最新进展表明,结合在运行时的某⼀点拍摄的动态堆快照可以显着改进⼀般静态分析 本文: 取舍因素: 在执行期间何时收集快照以及收集多少快照 快照使⽤⽅式如何影响可靠性和精度 Task:在污点分析中引

Proj CMI Paper Reading: Fuzzing: On the Exponential Cost of Vulnerability Discovery

Abstract 数据集:300个开源程序 超过 4 个 CPU 年,涉及2个greybox fuzzers,四个代码覆盖度量和两个漏洞发现度量 发现:重新发现相同的漏洞很便宜,但发现新的漏洞很昂贵。即使在没有并行化开销的简化假设下也是如此