Nghi D. Q. Bui Nghi Bui

Ph.D. Student, Information Systems
Singapore Management University
Curriculum Vitae: PDF (April, 2017)
Email: dqnbui dot 2016 at phdis dot smu dot edu dot sg | bdqnghi at gmail dot com
Office: Block 18, Level 4, SIS Research Center, School of Information Systems, Singapore Management University



About Me

Hi, welcome to my personal page. I'm a second year Ph.D Student at School of Information Systems, Singapore Management University. At SIS, I'm fortunate to be advised by Prof. Lingxiao Jiang.

Background

I obtained a Bachelor Degree in Advanced Program Computer Science, which is a honour program at Ho Chi Minh University of Science. At HCMUS, I conducted my thesis under the supervision of Prof. Dinh Ba Tien. After that, I worked as a software engineer in the industry for 3 years.

Research Interests

My interests lie at the intersection of Software Mining, Natural Language Processing, and Machine Learning. I am interested in employing the power of Machine Learning to software engineering and programming languages to solve challenging software engineering problem.

Projects

I'm focusing on employing the theory of graph-based and tree-based deep learning for programming languages. Programming languages, as well as natural languages, are both considered as the sequence of text. But the programming languages expose a richer structural information in a form of the Abstract Syntax Tree (AST). In addition, the elements in the AST are well-connected with each other through many form of dependencies, such as def-use, control flow, data flow. As such, the source code of programming languages can also be described in the form of graphs, where the edges in the graph represent for different type of relations between the elements. This leads to the consequence that modeling source code using a tree-based model or graph-based model usually can produce richer and more useful features than the sequence-based model. The features extracted can be useful in tasks, such as program classification, variable naming, variable misuse detection, etc.

Keywords

source code modeling, natural language processing, API translation, tree-based learning, graph-based learning, neural networks

Full list of my publications can be found here.