{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/cross-language-learning-for-program","title":"Cross-Language Learning for Program Classification using Bilateral Tree-Based Convolutional Neural Networks","arxiv_id":"1710.06159","date":"2017-10-17","proceeding":null,"authors":["Nghi D. Q. Bui","Lingxiao Jiang","Yijun Yu"],"abstract":"Towards the vision of translating code that implements an algorithm from one\nprogramming language into another, this paper proposes an approach for\nautomated program classification using bilateral tree-based convolutional\nneural networks (BiTBCNNs). It is layered on top of two tree-based\nconvolutional neural networks (TBCNNs), each of which recognizes the algorithm\nof code written in an individual programming language. The combination layer of\nthe networks recognizes the similarities and differences among code in\ndifferent programming languages. The BiTBCNNs are trained using the source code\nin different languages but known to implement the same algorithms and/or\nfunctionalities. For a preliminary evaluation, we use 3591 Java and 3534 C++\ncode snippets from 6 algorithms we crawled systematically from GitHub. We\nobtained over 90% accuracy in the cross-language binary classification task to\ntell whether any given two code snippets implement the same algorithm. Also,\nfor the algorithm classification task, i.e., to predict which one of the six\nalgorithm labels is implemented by an arbitrary C++ code snippet, we achieved\nover 80% precision.","url_abs":"http://arxiv.org/abs/1710.06159v2","url_pdf":"http://arxiv.org/pdf/1710.06159v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"cross-language-learning-for-program","repo_url":"https://github.com/bdqnghi/bi-tbcnn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}}],"tasks":[{"task_slug":"binary-classification","task_name":"Binary Classification"},{"task_slug":"c-code","task_name":"C++ code"},{"task_slug":"classification-1","task_name":"Classification"},{"task_slug":"classification","task_name":"General Classification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}