paper-with-me

홈 › Papers

Convolutional Neural Networks over Tree Structures for Programming Language Processing

2014-09-18 · Lili Mou, Ge Li, Lu Zhang, Tao Wang, Zhi Jin

Programming language processing (similar to natural language processing) is a hot research topic in the field of software engineering; it has also aroused growing interest in the artificial intelligence community. However, different from a natural language sentence, a program contains rich, explicit, and complicated structural information. Hence, traditional NLP models may be inappropriate for programs. In this paper, we propose a novel tree-based convolutional neural network (TBCNN) for programming language processing, in which a convolution kernel is designed over programs' abstract syntax trees to capture structural information. TBCNN is a generic architecture for programming language processing; our experiments show its effectiveness in two different program analysis tasks: classifying programs according to functionality, and detecting code snippets of certain patterns. TBCNN outperforms baseline methods, including several neural models for NLP.

📄 PDF Abstract BibTeX arXiv:1409.5718

Code (9)

RyanMarcus/TreeConvolution pytorch
bdqnghi/bi-tbcnn tf
bdqnghi/tbcnn-tensorflow tf
bdqnghi/tbcnn.tensorflow tf
crestonbunch/tbcnn tf
handdl/btcnn pytorch
jacobwwh/tbcnn-dgl pytorch
rabbitjy/fuzztuning pytorch
spcl/ncc tf

Tasks

Sentence

Methods 이 논문이 사용한 방법론

Convolution A convolution is a type of matrix operation, consisting of a kernel, a small matrix of weights, that slides over input data performing element-wise multiplication with the…

Similar Papers 제목 키워드 기반

TreeCaps: Tree-Structured Capsule Networks for Program Source Code Processing

2019-10-27 · Vinoj Jayasundara, Nghi Duy Quoc Bui, Lingxiao Jiang, David Lo

Program comprehension is a fundamental task in software development and maintenance processes. Software developers often need to understand a large amount of existing code before they can develop new features or fix bugs…

Articles

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

2017-10-17 · Nghi D. Q. Bui, Lingxiao Jiang, Yijun Yu

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 convolutiona…

Binary ClassificationC++ codeClassificationGeneral Classification

Learning Latent Trees with Stochastic Perturbations and Differentiable Dynamic Programming

2019-06-24 · ACL 2019 7 · Caio Corro, Ivan Titov

We treat projective dependency trees as latent variables in our probabilistic model and induce them in such a way as to be beneficial for a downstream task, without relying on any direct tree supervision. Our approach re…

Natural Language InferenceSentiment Analysis

Recursive Top-Down Production for Sentence Generation with Latent Trees

2020-10-09 · Findings of the Association for Computational Linguistics 2020 · Shawn Tan, Yikang Shen, Timothy J. O'Donnell, Alessandro Sordoni 외

We model the recursive production property of context-free grammars for natural and synthetic languages. To this end, we present a dynamic programming algorithm that marginalises over latent binary tree structures with $…

SentenceTranslation

Structured Code Representations Enable Data-Efficient Adaptation of Code Language Models

2024-01-19 · Mayank Agarwal, Yikang Shen, Bailin Wang, Yoon Kim 외

Current language models tailored for code tasks often adopt the pre-training-then-fine-tuning paradigm from natural language processing, modeling source code as plain text. This approach, however, overlooks the unambiguo…