Deep Learning for Software Engineering

Speaker:  Denys Poshyvanyk – Williamsburg, VA, United States
Topic(s):  Software Engineering and Programming


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 too 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 (DL) has led to tremendous advances in several fields. Given the complexity of software repositories, deep learning has the potential to usher in new analytical frameworks and methodologies for SE research and the practical applications it reaches. Conversely, the development of DL algorithms and models represents an entirely new type of software engineering that is still rapidly evolving.

This talk examines how DL algorithms can enhance and automate several critical SE tasks involving natural language, code, and graphical user interfacesÊincluding program prototyping and source code modifications. We demonstrate that deep learners significantly outperform state-of-practice canonical machine learning approaches for these tasks. These examples illustrate transformative potential that DL can have on the science and practice of software engineering by moving SE research from the art of feature engineering to the science of automated discovery. We also explore how advancements in software engineering tools and practices can enable further progress in making DL frameworks more accessible and useful for researchers, programmers, and data scientists. The talk will conclude with a discussion of promising future directions and opportunities for Deep Learning for SE and SE for Deep Learning.

About this Lecture

Number of Slides:  150
Duration:  55 - 60 minutes
Languages Available:  English
Last Updated: 

Request this Lecture

To request this particular lecture, please complete this online form.

Request a Tour

To request a tour with this speaker, please complete this online form.

All requests will be sent to ACM headquarters for review.