More about HKUST
Automatic Techniques for Code Example Generation
PhD Thesis Proposal Defence Title: "Automatic Techniques for Code Example Generation" by Mr. Xiaodong GU Abstract: Developers often wonder how to implement a program functionality. Code examples are very helpful in this regard. Over the years, many approaches have been proposed to generate code examples. The existing approaches often treat queries and source code as textual documents and utilize information retrieval models to retrieve relevant code snippets that match a given query. However, conventional code example generation approaches involve the following major challenges. First, they rely on a bag-of-words assumption and cannot recognize high-level features of queries and source code. Second, source code and natural language queries are heterogeneous. Existing approaches mainly rely on the textual similarity between source code and natural language query. They lack a mapping of high-level semantics between queries and source code. Moreover, user requirements are changing, this requires to generate novel code examples rather than existing project-specific code snippets. To address these challenges, in this thesis, we propose two deep learning based approaches to the generation of code examples. Instead of mapping keywords, our approaches learn the deep semantics of queries and code snippets. We first propose a technique, DeepAPI which generates API sequences via deep learning and synthesizes code snippets with the generated API sequences. Furthermore, we propose a technique, DeepCodeHow to generate code examples via searching and summarizing from existing code corpus. Finally, we propose a combinational approach, DAPE that combines both the generative and searching based techniques to generate novel code examples. Our proposed techniques effectively generate relevant code snippets and outperform the conventional IR-based approaches. Date: Friday, 31 March 2017 Time: 3:00pm - 5:00pm Venue: Room 4475 (lifts 25/26) Committee Members: Dr. Sunghun Kim (Supervisor) Dr. Xiaojuan Ma (Chairperson) Prof. Shing-Chi Cheung Prof. Fangzhen Lin **** ALL are Welcome ****