2022
DOI: 10.48550/arxiv.2201.06589
|View full text |Cite
Preprint
|
Sign up to set email alerts
|

Free Lunch for Testing: Fuzzing Deep-Learning Libraries from Open Source

Abstract: Deep learning (DL) systems can make our life much easier, and thus is gaining more and more attention from both academia and industry. Meanwhile, bugs in DL systems can be disastrous, and can even threaten human lives in safety-critical applications. To date, a huge body of research efforts have been dedicated to testing DL models. However, interestingly, there is still limited work for testing the underlying DL libraries, which are the foundation for building, optimizing, and running the DL models. One potent… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
11
0

Year Published

2022
2022
2023
2023

Publication Types

Select...
4

Relationship

1
3

Authors

Journals

citations
Cited by 4 publications
(11 citation statements)
references
References 43 publications
(71 reference statements)
0
11
0
Order By: Relevance
“…Metrics. We mainly target the following metrics for evaluation: • Code coverage: Following prior fuzzing work [7,8,59], we trace source-level branch coverage for both the entire systems and their pass-only components, measuring 1) total coverage counts all hit branches; and 2) unique coverage counts unique branches ("hard" branches) that other baselines cannot cover. • Bug counting: Following prior work [29,59,60], we use the number of independent patches as the number of detected bugs, except that we directly count the number of bug reports for closed-source systems (i.e., TensorRT) and unfixed ones.…”
Section: Methodsmentioning
confidence: 99%
See 3 more Smart Citations
“…Metrics. We mainly target the following metrics for evaluation: • Code coverage: Following prior fuzzing work [7,8,59], we trace source-level branch coverage for both the entire systems and their pass-only components, measuring 1) total coverage counts all hit branches; and 2) unique coverage counts unique branches ("hard" branches) that other baselines cannot cover. • Bug counting: Following prior work [29,59,60], we use the number of independent patches as the number of detected bugs, except that we directly count the number of bug reports for closed-source systems (i.e., TensorRT) and unfixed ones.…”
Section: Methodsmentioning
confidence: 99%
“…There are several challenges facing the basic approach of fuzzing and differential testing, which are not addressed by prior work [33,57,59]. Next, we illustrate these challenges using concrete examples.…”
Section: Challenges In Finding DL Compiler Bugsmentioning
confidence: 99%
See 2 more Smart Citations
“…The functionality of these equivalent graphs is verified to be identical. FreeFuzz takes the approach of mining usage of functions from open source code and carries out differential testing between similar concepts (e.g., CPU vs GPU computation should yield the same results) [33]. EAGLE and FreeFuzz are able to develop bugs, but another issue with debugging machine learning libraries is that these are frequently updated, and thus, the expected functionality of various methods may change over time.…”
Section: Machine Learning Librariesmentioning
confidence: 99%