Machine Learning for Software Engineering
Download as PDF
Course Description
In recent years, tools based on machine learning have become increasingly prevalent in the software engineering field. The ubiquity of machine learning is an important factor, but just as important is the availability of software engineering data: there are billions of lines of code available in public repositories (e.g. on GitHub), there is the change history of that code, there are discussion fora (e.g. Stack Overflow) that contain a wealth of information for developers, companies have access to telemetry on their apps from millions of users, and so on. The scale of software engineering data has permitted machine learning and statistical approaches to imagine tools that are beyond the capabilities of traditional, semantics-based approaches. In this graduate seminar, students will learn the various ways in which code and related artifacts can be treated as data, and how various developer tools can be built by applying machine learning over this data. The course will consist of discussion of a selection of research papers, as well as a hands-on project that can be done in small groups. Prerequisites: Familiarity with basic machine learning, and either CS143 or CS295.
Grading Basis
ROP - Letter or Credit/No Credit
Min
3
Max
4
Course Repeatable for Degree Credit?
No
Course Component
Lecture
Enrollment Optional?
No
Does this course satisfy the University Language Requirement?
No
Programs
CS349M
is a
completion requirement
for:
- (from the following course set: )
- (from the following course set: )
- (from the following course set: )