[Submitted on 25 Jul 2023 (v1), last revised 1 Aug 2023 (this version, v2)]

Download PDF

Abstract: Software systems are increasingly relying on deep learning components, due to
their remarkable capability of identifying complex data patterns and powering
intelligent behaviour. A core enabler of this change in software development is
the availability of easy-to-use deep learning libraries. Libraries like PyTorch
and TensorFlow empower a large variety of intelligent systems, offering a
multitude of algorithms and configuration options, applicable to numerous
domains of systems. However, bugs in those popular deep learning libraries also
may have dire consequences for the quality of systems they enable; thus, it is
important to understand how bugs are identified and fixed in those libraries.

Inspired by a study of Jia et al., which investigates the bug identification
and fixing process at TensorFlow, we characterize bugs in the PyTorch library,
a very popular deep learning framework. We investigate the causes and symptoms
of bugs identified during PyTorch’s development, and assess their locality
within the project, and extract patterns of bug fixes. Our results highlight
that PyTorch bugs are more like traditional software projects bugs, than
related to deep learning characteristics. Finally, we also compare our results
with the study on TensorFlow, highlighting similarities and differences across
the bug identification and fixing process.

Submission history

From: Diego Elias Costa [view email]


Tue, 25 Jul 2023 19:23:55 UTC (615 KB)


Tue, 1 Aug 2023 16:52:12 UTC (615 KB)

Read More