首页> 外文OA文献 >Cross-Language Learning for Program Classification using Bilateral Tree-Based Convolutional Neural Networks
【2h】

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

机译:基于双边树卷积神经网络的跨语言程序分类学习

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

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.
机译:为了将实现一种算法的代码从一种编程语言转换为另一种语言的愿景,本文提出了一种使用双边基于树的卷积神经网络(BiTBCNN)进行程序自动分类的方法。它位于两个基于树的卷积神经网络(TBCNN)之上,每个卷积神经网络都可以识别以单独的编程语言编写的代码算法。网络的组合层可以识别不同编程语言中代码之间的异同。使用不同语言的源代码对BiTBCNN进行了培训,但已知实现了相同的算法和/或功能。为了进行初步评估,我们使用了从GitHub系统地抓取的6种算法中的3591 Java和3534 C ++代码段。我们在跨语言二进制分类任务中获得了90%以上的准确性,以判断给定的两个代码段是否实现相同的算法。另外,对于算法分类任务,即预测任意C ++代码段实现的六个算法标签中的哪一个,我们实现了80%以上的精度。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号