연구 영역
기본 정보
논문·특허
과제
구성원
Article|
인용수 2
·2025
Exploring the Landscape of Programming Language Identification With Machine Learning Approaches
Amandeep Verma, Rahul Saha, Gulshan Kumar, Alessandro Brighente, Mauro Conti, Tai-hoon Kim
IF 3.6 (2025) IEEE Access
초록

다양한 언어를 지원하는 통합 개발 환경(IDE)에서 코드 분석, 유지보수, 마이그레이션을 위한 도구와 방법론의 필요성이 커지면서, 현대 소프트웨어 개발의 복잡성이 증가하고 있다. 또한 최근에는 소프트웨어 개발 과정의 보안 요구에 따라, 공급업체가 자사 제품에 포함해야 하는 소프트웨어 공급망 명세서(Software Bill of Materials, SBOM)의 도입이 이루어졌다. 소프트웨어의 생산 및 배포 속도를 높이기 위해 자동화 도구의 필요성은 필수적이다. 현재의 코드 개발 환경에서는 자동화된 프로그래밍 언어 식별(Programming Language Identification, PLI)이 코드 유지보수, 레거시 시스템 관리, 코드 분석, 품질 보증, 소프트웨어 현대화, 마이그레이션 및 코드 검색에 대한 프로그래밍 결과를 심층적으로 파악함으로써 보안성 높은 소프트웨어 개발을 돕는다. 검출 방법에서 기계학습(Machine Learning, ML) 모델의 성공이 증가함에 따라, 연구자들은 소스 파일 확장자에 기반한 기본 식별 방법에 비해 더 우수한 검출 성능을 보이는 PLI를 위해 이를 활용한다. 본 논문에서는 ML 기반 PLI 방법에 대한 최초의 설문조사를 제시하고, 해당 분야의 현재 상태에 대한 통찰을 제공하며 PLI를 위한 미래 지향적 도구 개발로의 방향을 제시한다. 우리는 프로그래밍 언어를 인식하는 다양한 ML 기법을 평가한다. 이러한 기법에는 전통적 기법, 연산 기반 기법, 데이터 소스 기반 기법이 포함된다. 본 연구는 텍스트, 이미지, 비디오에서 프로그래밍 언어를 식별하는 데 있어의 장점과 한계를 고찰한다. 또한 소프트웨어 개발 관행을 개선하는 기존 솔루션의 역량을 강조한다. 더 나아가 본 설문조사는 GitHub의 Linguist, Pygments, highlight.js, Ace, Google의 Code Prettify, SourcererCC, Guesslang, SonarLint와 같은 기존 코드 검출 도구의 강점과 한계를 분석한다. 아울러 향후 연구자를 위한 일부 개방형 연구 문제도 제시한다.

*본 초록은 AI를 통해 원문을 번역한 내용입니다. 정확한 내용은 하기 원문에서 확인해주세요.

키워드
Computer scienceIdentification (biology)Artificial intelligenceNatural language processingMachine learning
타입
Article
IF / 인용수
3.6 / 2
게재 연도
2025