[논문 리뷰] Practitioners' Expectations on Code Completion
본 논문은 인터뷰와 대규모 설문조사를 통해 실무자들의 코드 완성 도구에 대한 기대를 실증적으로 연구하고, 2012–2022년의 기존 연구 문헌과 비교하여 격차와 향후 연구 방향을 식별한다.
Code completion has become a common practice for programmers during their daily programming activities. It aims at automatically predicting the next tokens or lines that the programmers tend to use. A good code completion tool can substantially save keystrokes and improve the programming efficiency for programmers. Recently, various techniques for code completion have been proposed for usage in practice. However, it is still unclear what are practitioners' expectations on code completion and whether existing research has met their demands. To fill the gap, we perform an empirical study by first interviewing 15 practitioners and then surveying 599 practitioners from 18 IT companies about their expectations on code completion. We then compare the practitioners' demands with current research via conducting a literature review of papers on code completion published in premier publication venues from 2012 to 2022. Based on the comparison, we highlight the directions desirable for researchers to invest efforts towards developing code completion techniques for meeting practitioners' expectations.
연구 동기 및 목표
- 실무자들 사이의 코드 완성 관행의 현 상태를 조사한다.
- 실제 개발에서의 코드 완성에 대한 문제점과 인식되는 중요성을 식별한다.
- 토큰 단위 및 문장 단위의 세부 수준에서 실무자들의 기대를 설명한다.
- 현재 연구가 실무자들의 요구와 얼마나 잘 일치하는지 평가하고 미래 연구의 격차를 밝힌다.
제안 방법
- 15명의 실무자를 대상으로 반구조화 인터뷰를 수행하여 관행과 기대를 탐색한다.
- 18개 IT 기업의 599명 실무자를 대상으로 온라인 설문을 실시하여 양적 검증을 수행한다.
- 주요 학술지(2012–2022)에서의 코드 완성 연구에 대한 문헌 검토를 수행하고 이를 실무자 기대치와 비교한다.
실험 결과
연구 질문
- RQ1RQ1: 실무자들 사이에서 코드 완성 관행의 현황(도구 및 사용 시나리오)은 무엇인가?
- RQ2RQ2: 코드 완성이 실무자들에게 중요한가, 그리고 어떤 문제에 직면하는가?
- RQ3RQ3: 토큰-단위 및 문장-단위 코드 완성 도구에 대한 실무자들의 기대는 무엇인가(사용, 지표, 접근성, 효과성, 효율성 및 일반 도구 요인)?
- RQ4RQ4: 현재 연구가 실무자들의 요구를 얼마나 충족시키고 있으며 격차는 어디에 있는가?
주요 결과
- IDE에 내장된 코드 완성 도구가 가장 널리 사용되는 도구이며(96%), Copilot 및 IntelliCode와 같은 타사 플러그인은 약 13% 정도 사용된다.
- 토큰-단계 완성이 훨씬 더 인기가 높아(81%), 문장-단계 완성(32%)보다 많으며, 식별자 완성 및 API 권고가 가장 자주 활용되는 하위 시나리오로 약 85% 정도이다.
- 실무자의 88%가 코드 완성을 중요하게 여기지만 현재 도구가 만족스러운 것으로 보는 비율은 36%에 불과하다; 주요 문제로는 잘못된 완성(56%), 설치의 어려움(58%), 불량 랭킹(34%) 등이 있다.
- 토큰-단위 완성의 경우 식별자 완성, API 권고, 경로 완성을 각각 80% 이상이 기대; 상위 3개 후보의 정확도를 원한다는 비율은 약 79%, 85%는 200 ms 이내의 결과를 기대한다.
- 문장-단위 완성의 경우 골격 예측(skeleton prediction), 현재 편집 중인 라인 완성, API-인자 권고가 가장 기대되며, 선호 지연은 ≤2초이고 평가 지표로서는 문법적 정확성과 가독성에 중점을 둔다.
- 연구와 실무자 요구 간의 주목할 만한 격차가 있다: 대부분의 토큰-단위 연구는 API/식별자 완성에 집중하고 경로 완성은 거의 다루지 않으며; 문장-단위 연구는 골격이나 API-인자 예측보다는 다음 줄 완성에 초점을 두고 있다; 겹친 n-그램(overlapped n-grams)과 편집 유사도(edit similarity)와 같은 일반적인 평가 지표는 실무자들에게 덜 선호된다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.