Static Program Analysis Guided LLM Based Unit Test Generation
Static Program Analysis Guided LLM Based Unit Test Generation
We describe a novel approach to automating unit test generation for Java methods using large language models (LLMs). Existing LLM-based approaches rely on sample usage(s) of the method to test (focal method) and/or provide the entire class of the focal method as input prompt and context. The former approach is often not viable due to the lack of sample usages, especially for newly written focal methods. The latter approach does not scale well enough; the bigger the complexity of the focal method and larger associated class, the harder it is to produce adequate test code (due to factors such as exceeding the prompt and context lengths of the underlying LLM). We show that augmenting prompts with \emph{concise} and \emph{precise} context information obtained by program analysis %of the focal method increases the effectiveness of generating unit test code through LLMs. We validate our approach on a large commercial Java project and a popular open-source Java project.
Sujoy Roychowdhury、Sourav Mazumdar、Srinivasan Bajji Sugumaran、Hamender Singh、Ricardo Britto、Giriprasad Sridhara、A K Raghavan、Joy Bose
计算技术、计算机技术
Sujoy Roychowdhury,Sourav Mazumdar,Srinivasan Bajji Sugumaran,Hamender Singh,Ricardo Britto,Giriprasad Sridhara,A K Raghavan,Joy Bose.Static Program Analysis Guided LLM Based Unit Test Generation[EB/OL].(2025-03-07)[2025-05-15].https://arxiv.org/abs/2503.05394.点此复制
评论