EAGLE: Creating Equivalent Graphs to Test Deep Learning Libraries

18Citations
Citations of this article
23Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Testing deep learning (DL) software is crucial and challenging. Recent approaches use differential testing to cross-check pairs of implementations of the same functionality across different libraries. Such approaches require two DL libraries implementing the same functionality, which is often unavailable. In addition, they rely on a high-level library, Keras, that implements missing functionality in all supported DL libraries, which is prohibitively expensive and thus no longer maintained. To address this issue, we propose EAGLE, a new technique that uses differential testing in a different dimension, by using equivalent graphs to test a single DL implementation (e.g., a single DL library). Equivalent graphs use different Application Programming Interfaces (APIs), data types, or optimizations to achieve the same functionality. The rationale is that two equivalent graphs executed on a single DL implementation should produce identical output given the same input. Specifically, we design 16 new DL equivalence rules and propose a technique, EAGLE, that (1) uses these equivalence rules to build concrete pairs of equivalent graphs and (2) cross-checks the output of these equivalent graphs to detect inconsistency bugs in a DL library. Our evaluation on two widely-used DL libraries, i.e., Tensor Flow and PyTorch, shows that EAGLE detects 25 bugs (18 in Tensor Flow and 7 in PyTorch), including 13 previously unknown bugs.

Cite

CITATION STYLE

APA

Wang, J., Lutellier, T., Qian, S., Pham, H. V., & Tan, L. (2022). EAGLE: Creating Equivalent Graphs to Test Deep Learning Libraries. In Proceedings - International Conference on Software Engineering (Vol. 2022-May, pp. 798–810). IEEE Computer Society. https://doi.org/10.1145/3510003.3510165

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free