谷歌浏览器插件
订阅小程序
在清言上使用

Leveraging Documentation to Test Deep Learning Library Functions

ArXiv(2021)

引用 0|浏览15
暂无评分
摘要
It is integral to test API functions of widely-used deep learning (DL) libraries. The effectiveness of such testing requires DL-specific input constraints of these API functions. Such constraints enable the generation of valid inputs, i.e., inputs that follow these DL-specific constraints, to explore deep to test the core functionality of API functions. Existing fuzzers have no knowledge of such constraints, and existing constraint-extraction techniques are ineffective for extracting DL-specific input constraints. To fill this gap, we design and implement a document-guided fuzzing technique—D2C—for API functions of DL libraries. D2C leverages sequential pattern mining to generate rules for extracting DL-specific constraints from API documents and uses these constraints to guide the fuzzing to generate valid inputs automatically. D2C also generates inputs that violate these constraints to test the input validity checking code. In addition, D2C uses the constraints to generate boundary inputs to detect more bugs. Our evaluation of three popular DL libraries (TensorFlow, PyTorch, and MXNet) shows that D2C’s accuracy in extracting input constraints is 83.3–90.0%. D2C detects 121 bugs, while a baseline fuzzer without input constraints detects only 68 bugs. Most (89) of the 121 bugs are previously unknown, 54 of which have been fixed or confirmed by developers after we report them. In addition, D2C detects 38 inconsistencies within documents, including 28 that are fixed or confirmed after we report them.
更多
查看译文
关键词
deep learning library functions,documentation,deep learning
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要