Faults in Deep Reinforcement Learning Programs: A Taxonomy and A Detection Approach
Amin Nikanjam, Mohammad Mehdi Morovati, Foutse Khomh, Houssem Ben, Braiek

TL;DR
This paper categorizes faults in Deep Reinforcement Learning programs, develops a meta-model and a static analysis tool called DRLinter for fault detection, and validates its effectiveness on synthetic programs.
Contribution
It provides the first fault taxonomy for DRL programs and introduces a model-based static analysis approach for automatic fault detection.
Findings
DRLinter detects faults successfully in all tested synthetic programs.
The fault taxonomy is validated by industry experts.
Analysis of 761 artifacts revealed common fault types in DRL code.
Abstract
A growing demand is witnessed in both industry and academia for employing Deep Learning (DL) in various domains to solve real-world problems. Deep Reinforcement Learning (DRL) is the application of DL in the domain of Reinforcement Learning (RL). Like any software systems, DRL applications can fail because of faults in their programs. In this paper, we present the first attempt to categorize faults occurring in DRL programs. We manually analyzed 761 artifacts of DRL programs (from Stack Overflow posts and GitHub issues) developed using well-known DRL frameworks (OpenAI Gym, Dopamine, Keras-rl, Tensorforce) and identified faults reported by developers/users. We labeled and taxonomized the identified faults through several rounds of discussions. The resulting taxonomy is validated using an online survey with 19 developers/researchers. To allow for the automatic detection of faults in DRL…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Open Source Software Innovations · Advanced Software Engineering Methodologies
