Salvato in:
Dettagli Bibliografici
Autori principali: Xie, Danning, Li, Yitong, Kim, Mijung, Pham, Hung Viet, Tan, Lin, Zhang, Xiangyu, Godfrey, Michael W.
Natura: Preprint
Pubblicazione: 2021
Soggetti:
Accesso online:https://arxiv.org/abs/2109.01002
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866911789668630528
author Xie, Danning
Li, Yitong
Kim, Mijung
Pham, Hung Viet
Tan, Lin
Zhang, Xiangyu
Godfrey, Michael W.
author_facet Xie, Danning
Li, Yitong
Kim, Mijung
Pham, Hung Viet
Tan, Lin
Zhang, Xiangyu
Godfrey, Michael W.
contents 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, DocTer, to analyze API documentation to extract DL specific input constraints for DL API functions. DocTer features a novel algorithm that automatically constructs rules to extract API parameter constraints from syntactic patterns in the form of dependency parse trees 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, DocTer uses the constraints to enable the automatic generation of valid and invalid inputs to test DL API functions. Our evaluation on three popular DL libraries (TensorFlow, PyTorch, and MXNet) shows that the precision of DocTer in extracting input constraints is 85.4%. DocTer detects 94 bugs from 174 API functions, including one previously unknown security vulnerability that is now documented in the CVE database, while a baseline technique without input constraints detects only 59 bugs. Most (63) of the 94 bugs are previously unknown, 54 of which have been fixed or confirmed by developers after we report them. In addition, DocTer detects 43 inconsistencies in documents, 39 of which are fixed or confirmed.
format Preprint
id arxiv_https___arxiv_org_abs_2109_01002
institution arXiv
publishDate 2021
record_format arxiv
spellingShingle DocTer: Documentation Guided Fuzzing for Testing Deep Learning API Functions
Xie, Danning
Li, Yitong
Kim, Mijung
Pham, Hung Viet
Tan, Lin
Zhang, Xiangyu
Godfrey, Michael W.
Software Engineering
D.2
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, DocTer, to analyze API documentation to extract DL specific input constraints for DL API functions. DocTer features a novel algorithm that automatically constructs rules to extract API parameter constraints from syntactic patterns in the form of dependency parse trees 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, DocTer uses the constraints to enable the automatic generation of valid and invalid inputs to test DL API functions. Our evaluation on three popular DL libraries (TensorFlow, PyTorch, and MXNet) shows that the precision of DocTer in extracting input constraints is 85.4%. DocTer detects 94 bugs from 174 API functions, including one previously unknown security vulnerability that is now documented in the CVE database, while a baseline technique without input constraints detects only 59 bugs. Most (63) of the 94 bugs are previously unknown, 54 of which have been fixed or confirmed by developers after we report them. In addition, DocTer detects 43 inconsistencies in documents, 39 of which are fixed or confirmed.
title DocTer: Documentation Guided Fuzzing for Testing Deep Learning API Functions
topic Software Engineering
D.2
url https://arxiv.org/abs/2109.01002