Code representation learning with Prüfer sequences
department or school: Science, Irving K. Barber Faculty of (Okanagan)
department or school: Computer Science, Mathematics, Physics and Statistics, Department of (Okanagan)
data provider: DSpace
degree campus: UBCO
creator: Jinpa, Tenzin
issued: 2021-11-04T18:44:36Z
issued: 2021
related degree: Master of Science - MSc
degree grantor: University of British Columbia
description: An effective and efficient code representation is critical to the success of sequence-to-sequence deep neural network models for a variety of tasks in code understanding, such as code summarization and documentations, improving productivity, and reducing software development costs. Unlike the natural language, which is unstructured and noisy, programming codes are intrinsically structured, and the learning model can leverage this property of the code. A significant challenge is to find a sequence representation that captures the structural information in the program code and facilitates the training of the models. In this study, we propose to use the Prüfer sequence of the Abstract Syntax Tree (AST) of a computer program to design a sequential representation scheme that preserves the structural information in an AST. Our representation makes it possible to develop deep-learning models in which signals carried by lexical tokens in the training examples can be exploited automatically and selectively based on their syntactic role and importance. Unlike other recently-proposed approaches, our representation is concise and lossless in terms of the structural information of the AST. To test the efficacy of Prüfer-sequence-based representation, we designed a code summarization using a sequence-to-sequence learning model on real-world benchmark datasets. The results from the empirical studies show that Prüfer-sequence-based representation is indeed highly effective and efficient, outperforming significantly all the recently-proposed deep-learning models we used as the baseline models.
aggregated CHO: https://circle.library.ubc.ca/rest/handle/2429/80146
note: CODE REPRESENTATIONLEARNING WITH PRU¨FERSEQUENCESbyTenzin JinpaB. Tech, Guru Gobind Singh Indraprastha University, 2013M. Tech, Guru Gobind Singh Indraprastha University, 2015A THESIS SUBMITTED IN PARTIAL FULFILLMENT OFTHE REQUIREMENTS FOR THE DEGREE OFMASTER OF SCIENCEinThe College of Graduate Studies(Computer Science)THE UNIVERSITY OF BRITISH COLUMBIA(Okanagan)October 2021© Tenzin Jinpa , 2021The following individuals certify that they have read, and recommend to the Collegeof Graduate Studies for acceptance, a thesis/dissertation entitled:CODE REPRESENTATION LEARNING WITH PRU¨FER SEQUENCESsubmitted by Tenzin Jinpa in partial fulfilment of the requirements of the degree ofMaster of ScienceYong Gao, Irving K. Barber Faculty of ScienceSupervisorPramjeet Gill, Irving K. Barber Faculty of ScienceSupervisory Committee MemberFatemeh Hendijani Fard, Irving K. Barber Faculty of ScienceSupervisory Committee MemberXiaoping Shi, Irving K. Barber Faculty of ScienceUniversity ExaminerWarren Hare, Irving K. Barber Faculty of ScienceNeutral ChairiiAbstractAn effective and efficient code representation is critical to the success ofsequence-to-sequence deep neural network models for a variety of tasks in codeunderstanding, such as code summarization and documentations, improvingproductivity, and reducing software development costs. Unlike the natural language,which is unstructured and noisy, programming codes are intrinsically structured, andthe learning model can leverage this property of the code. A significant challenge is tofind a sequence representation that captures the structural information in the programcode and facilitates the training of the models.In this study, we propose to use the Pru¨fer sequence of the Abstract Syntax Tree(AST) of a computer program to design a sequential representation scheme thatpreserves the structural information in an AST. Our representation makes it possibleto develop deep-learning models in which signals carried by lexical tokens in thetrai…
has type: Thesis/Dissertation
date issued: 2022-02
is shown at: 10.14288/1.0402946
language: eng
degree discipline: Computer Science
provider: Vancouver : University of British Columbia Library
publisher: University of British Columbia
rights: Attribution-NonCommercial-NoDerivatives 4.0 International
rights URI: http://creativecommons.org/licenses/by-nc-nd/4.0/
scholar level: Graduate
contributor: Gao, Yong
type: Text
identifier URI: http://hdl.handle.net/2429/80146