Sign In

Static Program Analysis Guided LLM Based Unit Test Generation

Created by
  • Haebom
Category
Empty

저자

Sujoy Roychowdhury, Giriprasad Sridhara, A K Raghavan, Joy Bose, Sourav Mazumdar, Hamender Singh, Srinivasan Bajji Sugumaran, Ricardo Britto

개요

본 논문은 대규모 언어 모델(LLM)을 사용하여 자바 메서드에 대한 단위 테스트 생성을 자동화하는 새로운 접근 방식을 제시한다. 기존의 LLM 기반 접근 방식은 테스트할 메서드(focal method)의 샘플 사용 사례 또는 focal method의 전체 클래스를 입력 프롬프트 및 컨텍스트로 제공하는 데 의존한다. 전자 접근 방식은 특히 새로 작성된 focal method의 경우 샘플 사용 사례가 부족하여 실현 가능하지 않은 경우가 많다. 후자 접근 방식은 확장성이 좋지 않다. focal method의 복잡성과 관련 클래스의 크기가 클수록, 기본 LLM의 프롬프트 및 컨텍스트 길이 초과 등의 요인으로 인해 적절한 테스트 코드를 생성하기가 어려워진다. 본 논문에서는 프로그램 분석을 통해 얻은 간결하고 정확한 컨텍스트 정보로 프롬프트를 보강하면 LLM을 통한 단위 테스트 코드 생성의 효율성이 증가함을 보여준다. 대규모 상용 자바 프로젝트와 인기 있는 오픈소스 자바 프로젝트에서 이 접근 방식을 검증하였다.

시사점, 한계점

시사점: 프로그램 분석을 통해 얻은 간결하고 정확한 컨텍스트 정보를 활용하여 LLM 기반 단위 테스트 생성의 효율성을 높일 수 있음을 제시한다. 대규모 프로젝트에서도 적용 가능성을 검증하였다.
한계점: 제시된 접근 방식의 효과는 사용된 LLM과 프로그램 분석 기법에 의존적일 수 있다. 다양한 종류의 자바 메서드와 프로젝트에 대한 일반화 가능성에 대한 추가 연구가 필요하다. 또한, 생성된 단위 테스트의 품질과 커버리지에 대한 정량적인 평가가 더 필요하다.
👍