DocTer: Documentation-Guided Fuzzing for Testing Deep Learning API Functions
Fri 22 Jul 2022 02:00 - 02:20 at ISSTA 2 - Session 1-12: Neural Networks, Learning, NLP D
Input constraints are useful for many software development tasks. For example, input constraints of a function enable the generation of valid inputs, i.e., inputs that follow these constraints, to test the function deeper. API functions of deep learning (DL) libraries have DL-specific input constraints, which are described informally in the free-form API documentation. Existing constraint-extraction techniques are ineffective for extracting DL-specific input constraints.
To fill this gap, we design and implement a new technique—Ddocter—to analyze API documentation to extract DL-specific input constraints for DL API functions. Ddocter features a novel algorithm that automatically constructs rules to extract API parameter constraints from syntactic subtree patterns of API descriptions. These rules are then applied to a large volume of API documents in popular DL libraries to extract their input parameter constraints. To demonstrate the effectiveness of the extracted constraints, Ddocter uses the constraints to guide the testing of DL API functions. Specifically, Ddocter uses the constraints to enable the automatic generation of valid inputs and invalid inputs.
Our evaluation on three popular DL libraries (TensorFlow, PyTorch, and MXNet) shows that Ddocter’s precision in extracting input constraints is 85.8%. Ddocter detects 96 bugs, including one previously unknown security vulnerability that is now documented into the CVE database, while a baseline technique without input constraints detects only 69 bugs. Most (67) of the 96 bugs are previously unknown, 43 of which have been fixed or confirmed by developers after we report them. In addition, Ddocter detects 38 inconsistencies within documents, including 28 that are fixed or confirmed after we report them.
Wed 20 JulDisplayed time zone: Seoul change
07:00 - 08:20 | |||
07:00 20mTalk | Cross-Lingual Transfer Learning for Statistical Type InferenceACM SIGSOFT Distinguished Paper Technical Papers Zhiming Li Nanyang Technological University, Singapore, Xiaofei Xie Singapore Management University, Singapore, Haoliang Li City University of Hong Kong, Zhengzi Xu Nanyang Technological University, Yi Li Nanyang Technological University, Yang Liu Nanyang Technological University DOI | ||
07:20 20mTalk | DocTer: Documentation-Guided Fuzzing for Testing Deep Learning API Functions Technical Papers Danning Xie Purdue University, Yitong Li University of Waterloo, Mijung Kim UNIST, Hung Viet Pham University of Waterloo, Lin Tan Purdue University, Xiangyu Zhang Purdue University, Michael W. Godfrey University of Waterloo, Canada DOI | ||
07:40 20mTalk | HybridRepair: Towards Annotation-Efficient Repair for Deep Learning Models Technical Papers DOI | ||
08:00 20mTalk | Human-in-the-Loop Oracle Learning for Semantic Bugs in String Processing Programs Technical Papers Charaka Geethal Monash University, Thuan Pham The University of Melbourne, Aldeida Aleti Monash University, Marcel Böhme MPI-SP, Germany and Monash University, Australia DOI Pre-print |
Fri 22 JulDisplayed time zone: Seoul change
01:40 - 02:20 | |||
01:40 20mTalk | Cross-Lingual Transfer Learning for Statistical Type InferenceACM SIGSOFT Distinguished Paper Technical Papers Zhiming Li Nanyang Technological University, Singapore, Xiaofei Xie Singapore Management University, Singapore, Haoliang Li City University of Hong Kong, Zhengzi Xu Nanyang Technological University, Yi Li Nanyang Technological University, Yang Liu Nanyang Technological University DOI | ||
02:00 20mTalk | DocTer: Documentation-Guided Fuzzing for Testing Deep Learning API Functions Technical Papers Danning Xie Purdue University, Yitong Li University of Waterloo, Mijung Kim UNIST, Hung Viet Pham University of Waterloo, Lin Tan Purdue University, Xiangyu Zhang Purdue University, Michael W. Godfrey University of Waterloo, Canada DOI |