Daily Arxiv

전 세계에서 발간되는 인공지능 관련 논문을 정리하는 페이지 입니다.
본 페이지는 Google Gemini를 활용해 요약 정리하며, 비영리로 운영 됩니다.
논문에 대한 저작권은 저자 및 해당 기관에 있으며, 공유 시 출처만 명기하면 됩니다.

AI-Driven Code Refactoring: Using Graph Neural Networks to Enhance Software Maintainability

Created by
  • Haebom

저자

Gopichand Bandarupalli

개요

본 연구는 추상 구문 트리(AST)를 사용하여 그래프 신경망(GNN)을 코드 리팩토링 도구로 활용하여 소프트웨어 유지보수성을 향상시키는 방법을 탐구합니다. CodeSearchNet의 2백만 개 스니펫과 맞춤형 75,000개 파일의 GitHub Python 코퍼스 데이터셋을 분석하여 GNN을 규칙 기반 SonarQube 및 의사결정 트리와 비교합니다. 평가 지표는 순환 복잡도(목표 10 미만), 결합도(목표 5 미만) 및 리팩토링 정확도를 포함하며, GNN은 92%의 정확도를 달성하여 복잡도를 35%, 결합도를 33% 감소시켰으며, SonarQube(78%, 16%) 및 의사결정 트리(85%, 25%)보다 성능이 우수했습니다. 전처리는 60%의 구문 오류를 수정했습니다. 막대 그래프, 표 및 AST 시각화를 통해 결과를 명확하게 보여줍니다. 이는 소프트웨어 엔지니어링에 필수적인 더 깨끗한 코드베이스를 위한 확장 가능한 AI 기반 경로를 제공합니다.

시사점, 한계점

시사점:
GNN을 이용한 코드 리팩토링이 기존 방법(SonarQube, 의사결정 트리)보다 높은 정확도와 효율성을 보임.
소프트웨어 유지보수성 향상을 위한 확장 가능한 AI 기반 솔루션 제시.
코드 복잡도 및 결합도 감소에 효과적임.
한계점:
전처리를 통해 60%의 구문 오류만 수정되었다는 점은 향후 개선이 필요함을 시사.
특정 프로그래밍 언어(Python)에 대한 분석 결과이므로 다른 언어로의 일반화 가능성은 추가 연구가 필요.
데이터셋의 크기 및 구성에 따른 결과의 일반화 가능성에 대한 검토 필요.
👍