The Open UniversitySkip to content
 

Cross-Language Learning for Program Classification using Bilateral Tree-Based Convolutional Neural Networks

Bui, Nghi D. Q.; Jiang, Lingxiao and Yu, Yijun (2018). Cross-Language Learning for Program Classification using Bilateral Tree-Based Convolutional Neural Networks. In: Statistical Modeling of Natural Software Corpora (NL4SE) (Devanbu, Prem ed.), AAAI-2018.

Full text available as:
[img]
Preview
PDF (Accepted Manuscript) - Requires a PDF viewer such as GSview, Xpdf or Adobe Acrobat Reader
Download (441kB) | Preview
Google Scholar: Look up in Google Scholar

Abstract

Towards the vision of translating code that implements an algorithm from one programming language into another, this paper proposes an approach for automated program classification using bilateral tree-based convolutional neural networks (BiTBCNNs). It is layered on top of two tree-based convolutional neural networks (TBCNNs), each of which recognizes the algorithm of code written in an individual programming language. The combination layer of the networks recognizes the similarities and differences among code in different programming languages. The BiTBCNNs are trained using the source code in different languages but known to implement the same algorithms and/or functionalities. For a preliminary evaluation, we use 3591 Java and 3534 C++ code snippets from 6 algorithms we crawled systematically from GitHub. We obtained over 90% accuracy in the cross-language binary classification task to tell whether any given two code snippets implement a same algorithm. Also, for the algorithm classification task, i.e., to predict which one of the six algorithm labels is implemented by an arbitrary C++ code snippet, we achieved over 80% precision.

Item Type: Conference or Workshop Item
Copyright Holders: 2018, Association for the Advancement of Artificial Intelligence
Extra Information: co-located with the Thirty-Second AAAI Conference on Artificial Intelligence (AAAI-18)
Academic Unit/School: Faculty of Science, Technology, Engineering and Mathematics (STEM) > Computing and Communications
Faculty of Science, Technology, Engineering and Mathematics (STEM)
Research Group: Centre for Research in Computing (CRC)
Related URLs:
Item ID: 52402
Depositing User: Yijun Yu
Date Deposited: 04 Dec 2017 09:35
Last Modified: 11 Jan 2018 16:37
URI: http://oro.open.ac.uk/id/eprint/52402
Share this page:

Download history for this item

These details should be considered as only a guide to the number of downloads performed manually. Algorithmic methods have been applied in an attempt to remove automated downloads from the displayed statistics but no guarantee can be made as to the accuracy of the figures.

Actions (login may be required)

Policies | Disclaimer

© The Open University   contact the OU