Code Smells in Machine Learning Systems

03/02/2022
by   Jiri Gesi, et al.
0

As Deep learning (DL) systems continuously evolve and grow, assuring their quality becomes an important yet challenging task. Compared to non-DL systems, DL systems have more complex team compositions and heavier data dependency. These inherent characteristics would potentially cause DL systems to be more vulnerable to bugs and, in the long run, to maintenance issues. Code smells are empirically tested as efficient indicators of non-DL systems. Therefore, we took a step forward into identifying code smells, and understanding their impact on maintenance in this comprehensive study. This is the first study on investigating code smells in the context of DL software systems, which helps researchers and practitioners to get a first look at what kind of maintenance modification made and what code smells developers have been dealing with. Our paper has three major contributions. First, we comprehensively investigated the maintenance modifications that have been made by DL developers via studying the evolution of DL systems, and we identified nine frequently occurred maintenance-related modification categories in DL systems. Second, we summarized five code smells in DL systems. Third, we validated the prevalence, and the impact of our newly identified code smells through a mixture of qualitative and quantitative analysis. We found that our newly identified code smells are prevalent and impactful on the maintenance of DL systems from the developer's perspective.

READ FULL TEXT

page 8

page 9

research
12/03/2021

Characterizing Performance Bugs in Deep Learning Systems

Deep learning (DL) has been increasingly applied to a variety of domains...
research
07/28/2021

Clones in Deep Learning Code: What, Where, and Why?

Deep Learning applications are becoming increasingly popular. Developers...
research
04/16/2018

Deep Learning on Key Performance Indicators for Predictive Maintenance in SAP HANA

With a new era of cloud and big data, Database Management Systems (DBMSs...
research
07/21/2022

Demystifying Dependency Bugs in Deep Learning Stack

Recent breakthroughs in deep learning (DL) techniques have stimulated si...
research
01/25/2019

On Learning Meaningful Code Changes via Neural Machine Translation

Recent years have seen the rise of Deep Learning (DL) techniques applied...
research
05/17/2021

How Deep is your Learning: the DL-HARD Annotated Deep Learning Dataset

Deep Learning Hard (DL-HARD) is a new annotated dataset designed to more...
research
05/20/2022

Nothing makes sense in deep learning, except in the light of evolution

Deep Learning (DL) is a surprisingly successful branch of machine learni...

Please sign up or login with your details

Forgot password? Click here to reset