Título: | INVESTIGATING THE IMPACT OF SOLID DESIGN PRINCIPLES ON MACHINE LEARNING CODE UNDERSTANDING | ||||||||||||
Autor: |
RAPHAEL OLIVEIRA CABRAL |
||||||||||||
Colaborador(es): |
MARCOS KALINOWSKI - Orientador |
||||||||||||
Catalogação: | 23/MAI/2024 | Língua(s): | ENGLISH - UNITED STATES |
||||||||||
Tipo: | TEXT | Subtipo: | THESIS | ||||||||||
Notas: |
[pt] Todos os dados constantes dos documentos são de inteira responsabilidade de seus autores. Os dados utilizados nas descrições dos documentos estão em conformidade com os sistemas da administração da PUC-Rio. [en] All data contained in the documents are the sole responsibility of the authors. The data used in the descriptions of the documents are in conformity with the systems of the administration of PUC-Rio. |
||||||||||||
Referência(s): |
[pt] https://www.maxwell.vrac.puc-rio.br/projetosEspeciais/ETDs/consultas/conteudo.php?strSecao=resultado&nrSeq=66797&idi=1 [en] https://www.maxwell.vrac.puc-rio.br/projetosEspeciais/ETDs/consultas/conteudo.php?strSecao=resultado&nrSeq=66797&idi=2 |
||||||||||||
DOI: | https://doi.org/10.17771/PUCRio.acad.66797 | ||||||||||||
Resumo: | |||||||||||||
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
development best practices. In order to better understand this phenomenon,
we investigated the impact of the SOLID design principles on ML code
understanding. To this end, we conducted a controlled experiment with three
independent trials (exact replications), overall involving 100 data scientists.
We restructured ML code from a real industrial setting that did not use
SOLID principles. Within each trial, one group was presented with the original
ML code, while the other one 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. 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. 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.
|
|||||||||||||
|