Skip to main content
QUICK REVIEW

[논문 리뷰] ChatGPT: A Study on its Utility for Ubiquitous Software Engineering Tasks

Giriprasad Sridhara, H. G. Ranjani|arXiv (Cornell University)|2023. 05. 26.
Artificial Intelligence in Healthcare and Education인용 수 12
한 줄 요약

본 논문은 ChatGPT를 15개의 소프트웨어 공학 작업에 걸쳐 평가하였으며, 다수의 작업에서 신뢰할 만한 성능을 발견했으나 일부 작업에서는 한계가 있으며, 인간 및 최신 기준선과 비교했을 때 제약이 있음을 보여준다.

ABSTRACT

ChatGPT (Chat Generative Pre-trained Transformer) is a chatbot launched by OpenAI on November 30, 2022. OpenAI's GPT-3 family of large language models serve as the foundation for ChatGPT. ChatGPT is fine-tuned with both supervised and reinforcement learning techniques and has received widespread attention for its articulate responses across diverse domains of knowledge. In this study, we explore how ChatGPT can be used to help with common software engineering tasks. Many of the ubiquitous tasks covering the breadth of software engineering such as ambiguity resolution in software requirements, method name suggestion, test case prioritization, code review, log summarization can potentially be performed using ChatGPT. In this study, we explore fifteen common software engineering tasks using ChatGPT. We juxtapose and analyze ChatGPT's answers with the respective state of the art outputs (where available) and/or human expert ground truth. Our experiments suggest that for many tasks, ChatGPT does perform credibly and the response from it is detailed and often better than the human expert output or the state of the art output. However, for a few other tasks, ChatGPT in its present form provides incorrect answers and hence is not suited for such tasks.

연구 동기 및 목표

  • 개발, 품질 보증, 유지보수를 아우르는 일반적인 소프트웨어 엔지니어링 작업에서 ChatGPT의 활용 가능성을 탐구한다.
  • 가능한 경우 인간 전문가의 실제 정답과 최신 도구를 사용하여 ChatGPT 출력과 비교한다.
  • ChatGPT가 잘 수행하는 작업과 부정확하거나 비최적의 결과를 제공하는 작업을 식별한다.

제안 방법

  • 각 작업당 최대 10개의 샘플에 대해 ChatGPT(2022년 12월 15일 및 2023년 1월 9일 버전)와 상호작용한다.
  • 공개적으로 이용 가능한 데이터셋 및 비교를 위한 기존 최신 도구 또는 인간 골드 세트를 사용한다.
  • 정확도는 출력이 실제 정답 또는 최종 개발자 산출물과 일치하는 비율로 평가한다.
  • 강점과 약점을 설명하기 위한 질적 관찰 및 예시 대화를 제공한다.
  • 코드 리뷰, 로그 요약, 메서드 이름 제안 등 다양한 작업을 분석한다.

실험 결과

연구 질문

  • RQ1ChatGPT가 최첨단 도구나 인간 전문가와 비교했을 때 정확한 메서드 이름과 짧은 코드 요약을 생성할 수 있는가?
  • RQ2로깅 요약, 커밋 메시지 생성 및 중복 버그 보고서 탐지에서의 ChatGPT 성능은 기준선에 비해 어떠한가?
  • RQ3병합 충돌 해결, 지시 대명사 해석, 코드 리뷰, 타입 추론 및 데이터 프레임 기반 코드 생성에 대해 ChatGPT가 신뢰할 수 있는가?
  • RQ4취약점 탐지, 리팩토링 및 테스트 오라클 생성에서 ChatGPT의 한계는 무엇인가?

주요 결과

  • ChatGPT는 10개 중 9개의 메서드에 대해 올바른 메서드 이름을 제안했고, 종종 최신 기술보다 더 정보성 있는 이름을 제공했다.
  • ChatGPT는 모든 10개의 로그에서 최첨단 기술보다 더 나은 로그 요약을 생성했다.
  • ChatGPT는 10건 중 7건에서 올바른 커밋 메시지를 생성했고, 3건은 불필요한 내용이 포함되었다.
  • ChatGPT는 강력한 지시 대명사 해석 능력을 보여주었고, 모든 10개 요구사항에서 선행사를 정확하게 해석했다.
  • ChatGPT는 실제 테스트 오라클 10개 중 6개에 일치했고, 주장에 대해 합리적인 설명을 제시했다.
  • 코드 리뷰에서 10건 중 4건의 취약점을 식별했고, 일부 저수준 C 코드 상황에서는 어려움을 보였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.