Novel deep learning methods combined with static analysis for source code processing

It is desirable to combine machine learning and program analysis so that one can leverage the best of both to increase the performance of software analytics. On one side, machine learning can analyze the source code of thousands of well-written software projects that can uncover patterns that partia...

Full description

Saved in:
Bibliographic Details
Main Author: BUI, Duy Quoc Nghi
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2020
Subjects:
Online Access:https://ink.library.smu.edu.sg/etd_coll/306
https://ink.library.smu.edu.sg/cgi/viewcontent.cgi?article=1314&context=etd_coll
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
Description
Summary:It is desirable to combine machine learning and program analysis so that one can leverage the best of both to increase the performance of software analytics. On one side, machine learning can analyze the source code of thousands of well-written software projects that can uncover patterns that partially characterize software that is reliable, easy to read, and easy to maintain. On the other side, the program analysis can be used to define rigorous and unique rules that are only available in programming languages, which enrich the representation of source code and help the machine learning to capture the patterns better. In this dissertation, we aim to present novel code modeling approaches to learn the source code better and demonstrate the usefulness of such approaches in various software engineering tasks. The methods developed for the aims to utilize the advantages of both deep learning techniques and static code analysis techniques.