DOI: 10.1109/MC.2021.3137227
Terbit pada 1 Maret 2022 Pada Computer

Software-Engineering Design Patterns for Machine Learning Applications

H. Takeuchi H. Washizaki Foutse Khomh + 4 penulis

Abstrak

In this study, a multivocal literature review identified 15 software-engineering design patterns for machine learning applications. Findings suggest that there are opportunities to increase the patterns’ adoption in practice by raising awareness of such patterns within the community.

Artikel Ilmiah Terkait

Machine Learning Operations (MLOps): Overview, Definition, and Architecture

Sebastian Hirschl Niklas Kühl Dominik Kreuzberger

4 Mei 2022

The final goal of all industrial machine learning (ML) projects is to develop ML products and rapidly bring them into production. However, it is highly challenging to automate and operationalize ML products and thus many ML endeavors fail to deliver on their expectations. The paradigm of Machine Learning Operations (MLOps) addresses this issue. MLOps includes several aspects, such as best practices, sets of concepts, and development culture. However, MLOps is still a vague term and its consequences for researchers and professionals are ambiguous. To address this gap, we conduct mixed-method research, including a literature review, a tool review, and expert interviews. As a result of these investigations, we contribute to the body of knowledge by providing an aggregated overview of the necessary principles, components, and roles, as well as the associated architecture and workflows. Furthermore, we provide a comprehensive definition of MLOps and highlight open challenges in the field. Finally, this work provides guidance for ML researchers and practitioners who want to automate and operate their ML products with a designated set of technologies.

Machine Learning for Software Engineering: A Tertiary Study

R. Galanopoulou D. Spinellis Zoe Kotti

17 November 2022

Machine learning (ML) techniques increase the effectiveness of software engineering (SE) lifecycle activities. We systematically collected, quality-assessed, summarized, and categorized 83 reviews in ML for SE published between 2009 and 2022, covering 6,117 primary studies. The SE areas most tackled with ML are software quality and testing, while human-centered areas appear more challenging for ML. We propose a number of ML for SE research challenges and actions, including conducting further empirical validation and industrial studies on ML, reconsidering deficient SE methods, documenting and automating data collection and pipeline processes, reexamining how industrial practitioners distribute their proprietary data, and implementing incremental ML approaches.

How does Machine Learning Change Software Development Practices?

Xin Xia G. Murphy David Lo + 1 lainnya

1 September 2021

Adding an ability for a system to learn inherently adds uncertainty into the system. Given the rising popularity of incorporating machine learning into systems, we wondered how the addition alters software development practices. We performed a mixture of qualitative and quantitative studies with 14 interviewees and 342 survey respondents from 26 countries across four continents to elicit significant differences between the development of machine learning systems and the development of non-machine-learning systems. Our study uncovers significant differences in various aspects of software engineering (e.g., requirements, design, testing, and process) and work characteristics (e.g., skill variety, problem solving and task identity). Based on our findings, we highlight future research directions and provide recommendations for practitioners.

Data Science Through the Looking Glass

C. Curino Bojan Karlas Markus Weimer + 10 lainnya

29 Juli 2022

The recent success of machine learning (ML) has led to an explosive growth of systems and applications built by an ever-growing community of system builders and data science (DS) practitioners. This quickly shifting panorama, however, is challenging for system builders and practitioners alike to follow. In this paper, we set out to capture this panorama through a wide-angle lens, performing the largest analysis of DS projects to date, focusing on questions that can advance our understanding of the field and determine investments. Specifically, we download and analyze (a) over 8M notebooks publicly available on GITHUB and (b) over 2M enterprise ML pipelines developed within Microsoft. Our analysis includes coarse-grained statistical characterizations, finegrained analysis of libraries and pipelines, and comparative studies across datasets and time. We report a large number of measurements for our readers to interpret and draw actionable conclusions on (a) what system builders should focus on to better serve practitioners and (b) what technologies should practitioners rely on.

A Systematic Review on Software Design Patterns in Today's Perspective

Swapnil Saha Md Showkat Hossain Chy Mafizur Rahman

28 Agustus 2023

Larger Object Oriented(OO) software systems can benefit greatly from the use of software design patterns. Because design pattern offers a well-structured and proven solution to recurrent issues that developers deal with. Previous studies explored the effects of design patterns and created several models for mining design patterns. Some of them were developed using machine learning (ML) methods. This paper concentrated on giving a brief summary of the difficulties with design patterns from the developer's point of view, as well as their impact on some quality aspects. Along with that, we discussed the shortcomings of contemporary classic pattern mining techniques. We compared both conventional mining tools and ML-based mining tools. Findings show that both the random forest model and PatternScout, which is based on SPARQL queries, can effectively discover all patterns with higher precision and recall values.

Daftar Referensi

0 referensi

Tidak ada referensi ditemukan.

Artikel yang Mensitasi

0 sitasi

Tidak ada artikel yang mensitasi.