Machine Learning Based Source Code Classification Using Syntax Oriented Features
As of today the programming language of the vast majority of the published source code is manually specified or programmatically assigned based on the sole file extension. In this paper we show that the source code programming language identification task can be fully automated using machine learning techniques. We first define the criteria that a production-level automatic programming language identification solution should meet. Our criteria include accuracy, programming language coverage, extensibility and performance. We then describe our approach: How training files are preprocessed for extracting features that mimic grammar productions, and then how these extracted grammar productions are used for the training and testing of our classifier. We achieve a 99 percent accuracy rate while classifying 29 of the most popular programming languages with a Maximum Entropy classifier.
Code (0)
등록된 구현이 없습니다.
Tasks
BIG-bench Machine LearningClassificationCode ClassificationGeneral ClassificationLanguage IdentificationSimilar Papers 제목 키워드 기반
SynGEC: Syntax-Enhanced Grammatical Error Correction with a Tailored GEC-Oriented Parser
This work proposes a syntax-enhanced grammatical error correction (GEC) approach named SynGEC that effectively incorporates dependency syntactic information into the encoder part of GEC models. The key challenge for this…
Grammatical Error CorrectionSyntax RepresentationBoosting Source Code Learning with Text-Oriented Data Augmentation: An Empirical Study
Recent studies have demonstrated remarkable advancements in source code learning, which applies deep neural networks (DNNs) to tackle various software engineering tasks. Similar to other DNN-based domains, source code le…
Clone DetectionCode ClassificationData AugmentationSYNFIX: Automatically Fixing Syntax Errors using Compiler Diagnostics
Beginning programmers struggle with the complex grammar of modern programming languages like Java, and make lot of syntax errors. The diagnostic syntax error messages from compilers and IDEs are sometimes useful, but oft…
BIG-bench Machine LearningDiagnosticMulti-Label ClassificationMUlTI-LABEL-ClASSIFICATION+1Program Classification Using Gated Graph Attention Neural Network for Online Programming Service
The online programing services, such as Github,TopCoder, and EduCoder, have promoted a lot of social interactions among the service users. However, the existing social interactions is rather limited and inefficient due t…
General ClassificationGraph AttentionGraph Neural NetworkSyntax-augmented Multilingual BERT for Cross-lingual Transfer
In recent years, we have seen a colossal effort in pre-training multilingual text encoders using large-scale corpora in many languages to facilitate cross-lingual transfer learning. However, due to typological difference…
Cross-Lingual Transfernamed-entity-recognitionNamed Entity RecognitionNamed Entity Recognition (NER)+5