Guest Lecture: Deep Learning and Software Engineering: A Retrospective and Paths Forward

Guest Speaker: Prof. Kevin Moran

Time: Monday, Oct 24, 2022. 1:00pm - 2:15pm Central.

Location: Zoom (Zoom link is posted on Piazza) Note this guest lecture is not on our regular lecture time. Please reserve the time on your calendar. We will record this lecture for students that have a time conflict.

Talk Intro

Bridging the abstraction gap between concepts and source code is the essence of Software Engineering (SE). SE researchers regularly use machine learning to bridge this gap, but there are two fundamental issues with traditional applications of machine learning in SE research. Traditional applications are typically reliant on human intuition, and they are not capable of learning expressive yet efficient internal representations. Ultimately, SE research needs approaches that can automatically learn representations of massive, heterogeneous, datasets in situ, apply the learned features to a particular task, and possibly transfer knowledge from task to task. Improvements in both computational power and the amount of memory in modern computer architectures have enabled new approaches to canonical machine learning tasks. Specifically, these architectural advances have enabled machines that are capable of learning deep, compositional representations of massive data depots. This rise of deep learning has led to tremendous advances in several fields. Given the complexity of software repositories and the artifacts therein, deep learning has ushered in new analytical frameworks and methodologies for SE research and its corresponding practical applications. A recent report from the 2019 NSF Workshop on Deep Learning & Software Engineering has referred to this area of research as Deep Learning for Software Engineering (DL4SE). This talk will provide a retrospective on the current state of DL4SE research by offering an analysis on work that has been done across different software engineering tasks including code suggestion, program repair, and program synthesis, to name a few. Additionally, the talk will explore how different types of software artifacts and deep learning architectures have been used, as well as some pressing challenges faced by this line of work. The talk will conclude with a discussion of promising future directions of work as well as an overview of potential opportunities for the DL4SE research community to continue to drive impactful, open, and reproducible work.

About Dr. Kevin Moran

Dr. Kevin Moran is currently an Assistant Professor at George Mason University where he directs the SAGE research group. He graduated with a B.A. in Physics from the College of the Holy Cross in 2013 and an M.S. degree from William & Mary in August of 2015. He received a Ph.D. degree from William & Mary in August 2018. His main research interest involves facilitating the processes of software engineering, maintenance, and evolution by building developer tools enhanced by machine learning techniques. He has published over 30 papers at various software engineering and security conferences and his research has been recognized with ACM SIGSOFT distinguished paper awards at ESEC/FSE 2019 and ICSE 2020, and a Best Paper Award at CODASPY’19. He is a member of the ACM and IEEE.

More information about Dr. Moran can be found on his personal website: https://www.kpmoran.com