signatr: A Data-Driven Fuzzing Tool for R

signatr: A Data-Driven Fuzzing Tool for R
复制标题

Signatr:R 数据驱动模糊测试工具

DOI:
10.1145/3567512.3567530
复制
发表时间:
2022
期刊:
SLE
影响因子:
--
通讯作者:
Vitek, Jan
Vitek, Jan
中科院分区:
--
文献类型:
--
作者:
Turcotte, Alexi;Donat-Bouillud, Pierre;Křikava, Filip;Vitek, Jan

文献摘要

参考文献

相似文献

动态编程语言的快速松散、允许的语义限制了静态分析的能力。因此,通过动态程序分析来换取精确度通常是合理的。动态分析取决于可用的可运行代码,而仅仅依赖测试套件是令人担忧的,因为它们不能涵盖所有可能的行为。模糊是一种自动执行代码的方法,可以用来获得更多可运行的代码。然而,动态语言中用户自定义数据的形状很难直观,这限制了模糊器的覆盖范围,提出了一种反馈驱动的黑盒模糊方法,该方法从现有代码记录的值数据库中提取输入。我们在R语言的一个名为Sigatr的工具中实现了这种方法。我们介绍了它的设计和实现的见解,并通过对100个R包中的4,829个R函数进行模糊处理,揭示了1,195,184个新签名,评估了Sigatr发现新行为的能力。
The fast-and-loose, permissive semantics of dynamic programming languages limit the power of static analyses. For that reason, soundness is often traded for precision through dynamic program analysis. Dynamic analysis is only as good as the available runnable code, and relying solely on test suites is fraught as they do not cover the full gamut of possible behaviors. Fuzzing is an approach for automatically exercising code, and could be used to obtain more runnable code. However, the shape of user-defined data in dynamic languages is difficult to intuit, limiting a fuzzer's reach.We propose a feedback-driven blackbox fuzzing approach which draws inputs from a database of values recorded from existing code. We implement this approach in a tool called signatr for the R language. We present the insights of its design and implementation, and assess signatr's ability to uncover new behaviors by fuzzing 4,829 R functions from 100 R packages, revealing 1,195,184 new signatures.
跟踪类型:一种评估改装类型系统的方法
DOI: --
发表时间: 2016
期刊: European Conference on Object-Oriented Programming
影响因子: --
作者:
Esben Andreasen;Colin S. Gordon;S. Chandra;Manu Sridharan;F. Tip;Koushik Sen
通讯作者: Koushik Sen
关于 R 中惰性的设计、实现和使用
DOI: --
发表时间: 2019
期刊: Proc. ACM Program. Lang.
影响因子: --
作者:
Aviral Goel;J. Vitek
通讯作者: J. Vitek
根据经验设计 R 类型
DOI: 10.1145/3428249
发表时间: 2020
影响因子: --
作者:
Turcotte, Alexi;Goel, Aviral;Křikava, Filip;Vitek, Jan
通讯作者: Vitek, Jan