Core Concepts
Large Language Model을 활용하여 Stack Overflow 코드 스니펫을 재사용 가능한 API로 자동 변환할 수 있다.
Abstract
이 연구는 Stack Overflow 코드 스니펫을 재사용 가능한 API로 자동 변환하는 새로운 접근법인 Code2API를 제안한다. 기존의 APIzator 도구는 복잡한 규칙 기반 접근법을 사용했지만, 생성된 API의 대부분이 실용적이지 않았다. 이에 반해 Code2API는 Large Language Model을 활용하여 Chain-of-Thought 추론과 Few-shot 학습을 통해 개발자와 유사한 사고 과정으로 API를 생성한다.
Code2API의 주요 특징은 다음과 같다:
기존 접근법보다 메서드 매개변수 및 반환 값 식별 정확도가 15-16% 높다.
의미 있는 메서드 이름 생성에서 인간 수준의 성능을 달성했으며, 개발자들이 Code2API 생성 API를 더 선호한다.
복잡한 규칙 설계 없이 프롬프트 기반으로 구현되어 다른 프로그래밍 언어로 쉽게 확장할 수 있다.
6,023개의 Java API와 5,000개의 Python API를 생성하여 공개했다.
Stats
92.5%의 APIzator 생성 API는 실용적이지 않다.
Code2API는 메서드 매개변수 식별 정확도 65%, 반환 값 식별 정확도 66%를 달성했다.
Code2API는 APIzator보다 메서드 매개변수 및 반환 값 식별 정확도가 각각 15.0%, 16.5% 높다.
Quotes
"92.5%의 APIs generated by APIzator are pointless and thus are difficult to use in practice."
"Code2API achieves a remarkable accuracy in identifying method parameters (65%) and return statements (66%) equivalent to human-generated ones, surpassing the current state-of-the-art approach, APIzator, by 15.0% and 16.5% respectively."