|
|
Novel Neural Network-based Techniques for Cross Language Learning in Software Development
|

|
BUI Duy Quoc Nghi
PhD Candidate
School of Information Systems
Singapore Management University
|
Research Area
Dissertation Committee
Chairman
Committee Members
External Member
- DR. Yijun Yu, Associate Professor, The Open University, UK
|
|
|
Date
August 16, 2019 (Friday)
|
Time
2.00pm - 3.00pm
|
Venue
Meeting Room 4.4, Level 4,
School of Information Systems Singapore Management University
80 Stamford Road
Singapore 178902
|
We look forward to seeing you at this research seminar.

|
|
|
|
About The Talk
Developers usually work with multiple languages or platforms at the same time to address different requirement for the business. In general, the process to adapt the source code written in one language (or platform) to another is called domain adaptation and it is pervasive in software engineering. The key challenge when working on multiple domains is to find the similarity across them as a stage forward to adapt the domains together. For example, software migration can be considered as a domain adaptation problem as the goal is to migrate the code written in one language to another language. The domains, in this case, are the software artifacts written in different languages (or different platforms). As such, the goal of the domain adaptation for software is to automatically find the similarity across the domains to assist the developer in the process of adapting them.
Machine learning is one of the techniques that have been utilized to mine knowledge from existing software artifacts as a stage forward to reduce software maintenance cost and detect bugs. The application of Machine Learning to solve software engineering problems is named as source code modeling and has been one of the new, hotly debated issues in software engineering. The mined knowledge can be utilized for understanding big systems, reducing software maintenance cost, recognizing bugs, code refactoring and so forth.
In this dissertation, we aim to (1) present novel code modeling approaches to learn the source code better and demonstrate the usefulness of such approaches in various domain adaptation tasks in software engineer; and (2) propose a novel mechanism to interpret such code modeling techniques. While (1) aims to propose techniques to learn the code better, (2) aims to address the interpretability of such code modeling techniques. We propose AutoFocus, an automated approach towards the interpretability of the neural network for code learning. Our key idea to understand the neural network on source code is that we want to quantify the importance of input elements based on their effects on the outputs of the networks. We apply the AutoFocus approach to the algorithm classification task. Specifically, an attention mechanism is incorporated in the neural networks for classifying a program according to the algorithm implemented by the program, and attention scores are generated to differentiate various code elements in the program. More importantly, AutoFocus identifies and perturbs code elements in the program systematically, and quantifies the effects of the perturbed elements on the networks' capability in classifying the program.
|
|
Speaker Biography
Nghi Bui is a third-year Ph.D. candidate in the School of Information Systems, Singapore Management University, advised by Associate Professor Lingxiao Jiang. His current research focuses on machine learning for programming language semantics to understand the behavior of software programs.
|
|