Abstract:
Machine Learning (ML) is the discipline that studies methods for automatically inferring models from data. Machine learning has been successfully applied in many areas of...Show MoreMetadata
Abstract:
Machine Learning (ML) is the discipline that studies methods for automatically inferring models from data. Machine learning has been successfully applied in many areas of software engineering ranging from behaviour extraction, to testing, to bug fixing. Many more applications are yet be defined. However, a better understanding of ML methods, their assumptions and guarantees would help software engineers adopt and identify the appropriate methods for their desired applications. We argue that this choice can be guided by the models one seeks to infer. In this technical briefing, we review and reflect on the applications of ML for software engineering organised according to the models they produce and the methods they use. We introduce the principles of ML, give an overview of some key methods, and present examples of areas of software engineering benefiting from ML. We also discuss the open challenges for reaching the full potential of ML for software engineering and how ML can benefit from software engineering methods.
Published in: 2018 IEEE/ACM 40th International Conference on Software Engineering: Companion (ICSE-Companion)
Date of Conference: 27 May 2018 - 03 June 2018
Date Added to IEEE Xplore: 30 August 2018
ISBN Information:
Electronic ISSN: 2574-1934
Conference Location: Gothenburg, Sweden