Design, Implementation and Evaluation of a Novel Programming Language Topic Classification Workflow

2509.20631v1 cs.SE, cs.LG 2025-09-27
Авторы:

Michael Zhang, Yuan Tian, Mariam Guizani

Резюме на русском

## Контекст Современные программные системы adquiren значительный размер и сложность, что приводит к усложнению понимания их структуры и работы. Особенно важной является возможность точного определения распределения программирования тем в исходном коде. Эта возможность играет ключевую роль при принятии технических решений, улучшении процессов внедрения, создании утилит и разработке образовательных материалов. Тематическое классифицирование кода позволяет выявлять ключевые компоненты, такие как шаблоны, наследование, виртуальные функции и операторы перегрузки. Однако существующие методы часто недостаточно точны или не подходят для определения локальных элементов кода. Данная работа стремится решить эти проблемы, обеспечив более точное и эффективное классифицирование тем в исходном коде. ## Метод Для решения поставленной задачи был разработан инновационный подход к классификации тем в исходном коде. Методология основывается на сверточной нейронной сети, которая обладает высокой точностью и мощью в обработке больших корпусов данных. Ключевым элементом методики является способность работать с многомерными объектами, что позволяет охватить локальные компоненты кода. Была использована модель Support Vector Machine (SVM) с трёхмерным вектором, позволяющим выявить тонкие отличия в тематической разметке. Кроме того, была применена методика скользящего окна с алгоритмом голосования, чтобы улучшить точность классификации. Данный подход был проверен на имеющихся данных, чтобы подтвердить его эффективность. ## Результаты На основе данных из Project CodeNet были проведены эксперименты для оценки эффективности разработанного подхода. Модель достигла средней F1-меры в 0.90 для различных тем и 0.75 для кода-тематического выделения. Эти результаты показывают, что модель способна значительно улучшить точность классификации тем в коде. Особенно выдающимися результатами были замечены в случае локальных компонентов, таких как шаблоны и наследование. Эти результаты подтверждают, что разработанный подход может стать важной инструментой для анализа кода и повышения качества программных систем. ## Значимость Разработанный подход имеет широкие перспективы применения в различных областях. Он может быть использован в инструментах разработки программного обеспечения для упрощения процесса внедрения и улучшения понимания кода. Также он полезен в образовательных программах, позволяя учить новичкам лучшим практикам в программировании. Наконец, данный подход может быть использован в сфере анализа кода, чтобы предоставить более точные инсайты для решения задач тестирования и поддержки. ## Выводы В результате данного ис

Abstract

As software systems grow in scale and complexity, understanding the distribution of programming language topics within source code becomes increasingly important for guiding technical decisions, improving onboarding, and informing tooling and education. This paper presents the design, implementation, and evaluation of a novel programming language topic classification workflow. Our approach combines a multi-label Support Vector Machine (SVM) with a sliding window and voting strategy to enable fine-grained localization of core language concepts such as operator overloading, virtual functions, inheritance, and templates. Trained on the IBM Project CodeNet dataset, our model achieves an average F1 score of 0.90 across topics and 0.75 in code-topic highlight. Our findings contribute empirical insights and a reusable pipeline for researchers and practitioners interested in code analysis and data-driven software engineering.

Ссылки и действия