2달 전

SPoC: 검색 기반 의사코드에서 코드로의 변환

Sumith Kulal; Panupong Pasupat; Kartik Chandra; Mina Lee; Oded Padon; Alex Aiken; Percy Liang
SPoC: 검색 기반 의사코드에서 코드로의 변환
초록

우리는 의사코드를 기능적으로 올바른 긴 프로그램으로 매핑하는 작업을 고려합니다. 테스트 케이스를 프로그램 유효성을 검증하는 메커니즘으로 주어질 때, 우리는 가능한 의사코드의 번역 공간을 탐색하여 유효성 검사를 통과하는 프로그램을 찾습니다. 그러나, 프로그램 실패의 원인을 정확히 위치 지정하지 않고는 더 유망한 프로그램으로 탐색을 안내하기가 어렵습니다. 우리는 컴파일 오류에서 발생하는 신호를 기반으로 크레딧 할당(credit assignment)을 제안합니다. 이는 프로그램 실패의 88.7%를 구성합니다. 구체적으로, 각 의사코드 줄의 번역을 프로그램의 이산적인 부분으로 취급하며, 합성된 프로그램이 컴파일에 실패할 때마다 오류 위치 지정 방법이 실패의 책임이 있는 프로그램 부분을 식별하려고 합니다. 그런 다음 해당 부분들의 의사코드 대체 번역에 대한 탐색에 집중합니다. 평가를 위해, 우리는 인간이 작성한 의사코드와 테스트 케이스가 포함된 18,356개의 프로그램으로 구성된 SPoC 데이터셋(Search-based Pseudocode to Code)을 수집했습니다. 100번의 프로그램 컴파일 예산 하에서, 탐색은 의사코드의 최상위 하나 번역만 사용할 때보다 합성 성공률을 25.6%에서 44.7%로 개선하였습니다.

SPoC: 검색 기반 의사코드에서 코드로의 변환 | 최신 연구 논문 | HyperAI초신경