How does Machine Learning Change Software Development Practices?

被引:112
作者
Wan, Zhiyuan [1 ,2 ]
Xia, Xin [3 ]
Lo, David [4 ]
Murphy, Gail C. [5 ]
机构
[1] Zhejiang Univ, Ningbo Res Inst, Coll Comp Sci & Technol, Hangzhou 310058, Peoples R China
[2] Univ British Columbia, Dept Comp Sci, Vancouver, BC V6T 1Z4, Canada
[3] Monash Univ, Fac Informat Technol, Clayton, Vic 3800, Australia
[4] Singapore Management Univ, Sch Informat Syst, Singapore 188065, Singapore
[5] Univ British Columbia, Dept Comp Sci, Vancouver, BC V6T 1Z4, Canada
关键词
Software; Interviews; Data models; Machine learning; Testing; Task analysis; Software engineering; machine learning; practitioner; empirical study;
D O I
10.1109/TSE.2019.2937083
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:1857 / 1871
页数:15
相关论文
共 38 条
[1]  
Abadi M, 2016, PROCEEDINGS OF OSDI'16: 12TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, P265
[2]   Software Engineering for Machine Learning: A Case Study [J].
Amershi, Saleema ;
Begel, Andrew ;
Bird, Christian ;
DeLine, Robert ;
Gall, Harald ;
Kamar, Ece ;
Nagappan, Nachiappan ;
Nushi, Besmira ;
Zimmermann, Thomas .
2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING IN PRACTICE (ICSE-SEIP 2019), 2019, :291-300
[3]  
Anjos A., 2017, INT C MACH LEARN ICM
[4]  
[Anonymous], 2012, P 18 ACM SIGKDD INT
[5]  
[Anonymous], 2008, Guide to advanced empirical software engineering, DOI [10.1007/978-1-84800-044-53, DOI 10.1007/978-1-84800-044-5_3]
[6]  
[Anonymous], 2006, P ANN M SO ASS I RES
[7]   TFX: A TensorFlow-Based Production-Scale Machine Learning Platform [J].
Baylor, Denis ;
Breck, Eric ;
Cheng, Heng-Tze ;
Fiedel, Noah ;
Foo, Chuan Yu ;
Haque, Zakaria ;
Haykal, Salem ;
Ispir, Mustafa ;
Jain, Vihan ;
Koc, Levent ;
Koo, Chiu Yuen ;
Lew, Lukasz ;
Mewald, Clemens ;
Modi, Akshay Naresh ;
Polyzotis, Neoklis ;
Ramesh, Sukriti ;
Roy, Sudip ;
Whang, Steven Euijong ;
Wicke, Martin ;
Wilkiewicz, Jarek ;
Zhang, Xin ;
Zinkevich, Martin .
KDD'17: PROCEEDINGS OF THE 23RD ACM SIGKDD INTERNATIONAL CONFERENCE ON KNOWLEDGE DISCOVERY AND DATA MINING, 2017, :1387-1395
[8]  
Bourque Pierre, 2014, SWEBOK: Guide to the Software Engineering Body of Knowledge
[9]  
Braun V., 2006, Qualitative Research in Psychology, V3, P77, DOI [10.1191/1478088706qp063oa, DOI 10.1080/10875549.2021.1929659, DOI 10.1191/1478088706QP063OA, https://doi.org/10.1191/1478088706qp063oa]
[10]  
Carver JC, 2007, PROC INT CONF SOFTW, P550