论文标题
工程机学习系统的软件工程观点:最新技术和挑战
A Software Engineering Perspective on Engineering Machine Learning Systems: State of the Art and Challenges
论文作者
论文摘要
上下文:机器学习的进步(ML)导致从传统的软件开发观点转变,其中算法是由人类对人类进行了硬编码的,转变为通过从数据中学习实现的ML系统。因此,我们需要重新审视开发软件系统的方式,并考虑这些新型系统所需的特殊性。目的:这项研究的目的是系统地识别,分析,总结和综合工程ML系统的软件工程(SE)研究的当前状态。方法:我进行了系统文献综述(SLR)。我系统地从SE场地选择了141项研究池,然后使用从这些研究中提取的数据进行了定量和定性分析。结果:ML系统的非确定性性质使工程ML系统的所有SE方面复杂化。尽管从2018年开始越来越兴趣,但结果表明,没有一个SE方面具有成熟的工具和技术。测试是迄今为止研究人员中最受欢迎的领域。即使用于测试ML系统,工程师也只有一些工具原型和解决方案建议,具有较弱的实验证明。通过调查和访谈确定了ML系统工程的许多挑战。研究人员应在工业环境中进行实验和案例研究,以进一步了解这些挑战并提出解决方案。结论:结果可能受益(1)从业者预见了ML系统工程的挑战; (2)研究人员和院士确定潜在的研究问题; (3)设计或更新SE课程以涵盖ML系统工程的教育工作者。
Context: Advancements in machine learning (ML) lead to a shift from the traditional view of software development, where algorithms are hard-coded by humans, to ML systems materialized through learning from data. Therefore, we need to revisit our ways of developing software systems and consider the particularities required by these new types of systems. Objective: The purpose of this study is to systematically identify, analyze, summarize, and synthesize the current state of software engineering (SE) research for engineering ML systems. Method: I performed a systematic literature review (SLR). I systematically selected a pool of 141 studies from SE venues and then conducted a quantitative and qualitative analysis using the data extracted from these studies. Results: The non-deterministic nature of ML systems complicates all SE aspects of engineering ML systems. Despite increasing interest from 2018 onwards, the results reveal that none of the SE aspects have a mature set of tools and techniques. Testing is by far the most popular area among researchers. Even for testing ML systems, engineers have only some tool prototypes and solution proposals with weak experimental proof. Many of the challenges of ML systems engineering were identified through surveys and interviews. Researchers should conduct experiments and case studies, ideally in industrial environments, to further understand these challenges and propose solutions. Conclusion: The results may benefit (1) practitioners in foreseeing the challenges of ML systems engineering; (2) researchers and academicians in identifying potential research questions; and (3) educators in designing or updating SE courses to cover ML systems engineering.