signatr: A Data-Driven Fuzzing Tool for R.
SLE(2022)
摘要
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.
更多查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要