Investigating the Impact of SOLID Design Principles on Machine Learning Code Understanding

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Cabral, Raphael, Kalinowski, Marcos, Baldassarre, Maria Teresa, Villamizar, Hugo, Escovedo, Tatiana, Lopes, Hélio
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866913227384815616
author Cabral, Raphael
Kalinowski, Marcos
Baldassarre, Maria Teresa
Villamizar, Hugo
Escovedo, Tatiana
Lopes, Hélio
author_facet Cabral, Raphael
Kalinowski, Marcos
Baldassarre, Maria Teresa
Villamizar, Hugo
Escovedo, Tatiana
Lopes, Hélio
contents [Context] Applying design principles has long been acknowledged as beneficial for understanding and maintainability in traditional software projects. These benefits may similarly hold for Machine Learning (ML) projects, which involve iterative experimentation with data, models, and algorithms. However, ML components are often developed by data scientists with diverse educational backgrounds, potentially resulting in code that doesn't adhere to software design best practices. [Goal] In order to better understand this phenomenon, we investigated the impact of the SOLID design principles on ML code understanding. [Method] We conducted a controlled experiment with three independent trials involving 100 data scientists. We restructured real industrial ML code that did not use SOLID principles. Within each trial, one group was presented with the original ML code, while the other was presented with ML code incorporating SOLID principles. Participants of both groups were asked to analyze the code and fill out a questionnaire that included both open-ended and closed-ended questions on their understanding. [Results] The study results provide statistically significant evidence that the adoption of the SOLID design principles can improve code understanding within the realm of ML projects. [Conclusion] We put forward that software engineering design principles should be spread within the data science community and considered for enhancing the maintainability of ML code.
format Preprint
id arxiv_https___arxiv_org_abs_2402_05337
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Investigating the Impact of SOLID Design Principles on Machine Learning Code Understanding
Cabral, Raphael
Kalinowski, Marcos
Baldassarre, Maria Teresa
Villamizar, Hugo
Escovedo, Tatiana
Lopes, Hélio
Software Engineering
[Context] Applying design principles has long been acknowledged as beneficial for understanding and maintainability in traditional software projects. These benefits may similarly hold for Machine Learning (ML) projects, which involve iterative experimentation with data, models, and algorithms. However, ML components are often developed by data scientists with diverse educational backgrounds, potentially resulting in code that doesn't adhere to software design best practices. [Goal] In order to better understand this phenomenon, we investigated the impact of the SOLID design principles on ML code understanding. [Method] We conducted a controlled experiment with three independent trials involving 100 data scientists. We restructured real industrial ML code that did not use SOLID principles. Within each trial, one group was presented with the original ML code, while the other was presented with ML code incorporating SOLID principles. Participants of both groups were asked to analyze the code and fill out a questionnaire that included both open-ended and closed-ended questions on their understanding. [Results] The study results provide statistically significant evidence that the adoption of the SOLID design principles can improve code understanding within the realm of ML projects. [Conclusion] We put forward that software engineering design principles should be spread within the data science community and considered for enhancing the maintainability of ML code.
title Investigating the Impact of SOLID Design Principles on Machine Learning Code Understanding
topic Software Engineering
url https://arxiv.org/abs/2402.05337