이 논문은 소프트웨어 개발자들이 프로젝트 내부 또는 다른 프로젝트 간에 반복적으로 수행하는 코드 변경 패턴(CPAT)을 자동화하는 새로운 접근법을 제안한다.
기존의 예제 기반 변환(TBE) 기술은 입력 예제와 정확히 일치하는 코드만 변환할 수 있어 한계가 있다. 이 논문에서는 대규모 언어 모델(LLM)을 활용하여 원본 CPAT과 의미적으로 동등하지만 이전에 보지 못했던 변형을 생성함으로써 이러한 한계를 극복한다.
논문에서는 먼저 LLM을 활용하여 올바르고, 유용하며, 적용 가능한 변형을 생성하기 위한 모범 사례를 제시한다. 이를 바탕으로 PyCraft 툴을 설계, 구현 및 평가한다. PyCraft는 정적 코드 분석, 동적 분석 및 LLM 기능을 결합하여 CPAT의 변형을 생성하고 변환 규칙을 추론한다.
평가 결과, PyCraft는 이전 최신 기술 대비 평균 14배 더 많은 코드 변환 기회를 찾아낼 수 있었다. 또한 PyCraft가 생성한 86개의 CPAT 인스턴스 중 83%가 실제 프로젝트에 의해 수락 및 병합되어, 이 접근법의 실용성을 입증했다.
To Another Language
from source content
arxiv.org
Principais Insights Extraídos De
by Malinda Dilh... às arxiv.org 05-07-2024
https://arxiv.org/pdf/2402.07138.pdfPerguntas Mais Profundas