2달 전

SampleFix: 기능적으로 다양한 수정 생성 학습

Hossein Hajipour; Apratim Bhattacharyya; Cristian-Alexandru Staicu; Mario Fritz
SampleFix: 기능적으로 다양한 수정 생성 학습
초록

자동 프로그램 수정은 소프트웨어 개발 과정에서 프로그래머의 생산성을 크게 향상시키고 일반적으로 소프트웨어의 정확성을 개선할 잠재력을 가지고 있습니다. 최근 머신 러닝, 딥 러닝, 그리고 자연어 처리(NLP) 분야의 발전은 결국 프로그램 수정 과정을 완전히 자동화하는 희망을 되살렸습니다. 그러나, 단일 수정 사항을 예측하려는 이전 접근 방식들은 프로그래머의 진정한 의도에 대한 불확실성으로 인해 실패하기 쉽습니다. 따라서, 우리는 잠재적인 수정 사항들의 분포를 학습하는 생성 모델을 제안합니다. 우리의 모델은 주어진 오류가 있는 프로그램에 대해 효율적으로 수정 사항을 샘플링할 수 있는 깊은 조건부 변분 오토인코더로 구성됩니다. 다양한 솔루션을 보장하기 위해, 우리는 의미적 임베딩 공간에서 다양성을 촉진하는 새로운 정규화 기법을 제안합니다. 일반적인 프로그래밍 오류에 대한 평가 결과, 우리 모델은 처음으로 다양한 수정 사항들을 생성하고 최신 기술보다 최대 45%의 오류가 있는 프로그램을 수정하여 큰 성능 향상을 보였습니다. 또한, 수정된 프로그램 중 65%에 대해서는 우리 접근 방식이 다양한 기능을 가진 여러 프로그램을 생성할 수 있었습니다.

SampleFix: 기능적으로 다양한 수정 생성 학습 | 최신 연구 논문 | HyperAI초신경