Skip to main content
QUICK REVIEW

[论文解读] Machine Learning Based Source Code Classification Using Syntax Oriented Features

Shaul Zevin, Catherine Holzem|arXiv (Cornell University)|Mar 4, 2017
Web Data Mining and Analysis参考文献 6被引用 4
一句话总结

本文提出一种基于源代码中提取的语法导向特征的机器学习方法,用于自动进行编程语言识别。通过将语法产生式建模为特征并训练最大熵分类器,该方法在识别29种流行编程语言时达到了99%的准确率,满足了生产环境使用的关键标准,包括准确性、覆盖率、可扩展性和性能。

ABSTRACT

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.

研究动机与目标

  • 解决在大型代码库中使用人工或基于扩展名的编程语言识别方法所存在的局限性。
  • 开发一种完全自动化、可扩展的源代码编程语言分类解决方案,满足生产级别的要求。
  • 通过基于语法启发的特征,提升在多样化编程语言上的分类准确率和覆盖率。
  • 确保系统具备可扩展性与高性能,适用于软件工程工具中的实际部署。

提出的方法

  • 通过解析源代码文件,提取语法导向特征,识别类似语法产生的规则。
  • 将这些语法产生式转换为适合机器学习的数值特征。
  • 使用带标签的训练数据,在提取的特征上训练最大熵分类器。
  • 在包含29种流行编程语言的多样化数据集上验证模型。
  • 在分类前对文件进行预处理,以规范化和标准化特征表示。
  • 采用模仿语法结构的结构化特征表示,以增强分类的判别能力。

实验结果

研究问题

  • RQ1基于语法感知特征的机器学习模型能否在将源代码分类为编程语言时实现高准确率?
  • RQ2所提出的方法在29种流行编程语言的广泛集合上泛化能力如何?
  • RQ3基于语法启发的特征是否优于传统基于文件扩展名或简单标记计数的方法?
  • RQ4该系统能否在保持高效率和可扩展性的同时,支持对新编程语言的可扩展支持?

主要发现

  • 所提出的方法在识别29种流行编程语言时达到了99%的准确率。
  • 最大熵分类器在多样化编程语言语法上表现出强大的泛化能力和鲁棒性。
  • 与启发式或基于扩展名的方法相比,语法导向特征显著提升了分类性能。
  • 该系统满足关键的生产级标准,包括高准确率、广泛的编程语言覆盖范围以及可扩展性。
  • 该方法效率高且可扩展,适合集成到大规模软件分析流水线中。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。