Optimizing Case-Based Reasoning System for Functional Test Script Generation with Large Language Models
By: Siyuan Guo , Huiwu Liu , Xiaolong Chen and more
Potential Business Impact:
Helps computers write code tests automatically.
In this work, we explore the potential of large language models (LLMs) for generating functional test scripts, which necessitates understanding the dynamically evolving code structure of the target software. To achieve this, we propose a case-based reasoning (CBR) system utilizing a 4R cycle (i.e., retrieve, reuse, revise, and retain), which maintains and leverages a case bank of test intent descriptions and corresponding test scripts to facilitate LLMs for test script generation. To improve user experience further, we introduce Re4, an optimization method for the CBR system, comprising reranking-based retrieval finetuning and reinforced reuse finetuning. Specifically, we first identify positive examples with high semantic and script similarity, providing reliable pseudo-labels for finetuning the retriever model without costly labeling. Then, we apply supervised finetuning, followed by a reinforcement learning finetuning stage, to align LLMs with our production scenarios, ensuring the faithful reuse of retrieved cases. Extensive experimental results on two product development units from Huawei Datacom demonstrate the superiority of the proposed CBR+Re4. Notably, we also show that the proposed Re4 method can help alleviate the repetitive generation issues with LLMs.
Similar Papers
Review of Case-Based Reasoning for LLM Agents: Theoretical Foundations, Architectural Components, and Cognitive Integration
Artificial Intelligence
Helps AI remember and learn from past mistakes.
Test Case Generation from Bug Reports via Large Language Models: A Cognitive Layered Evaluation Framework
Software Engineering
Helps computers write better code tests.
Method-Based Reasoning for Large Language Models: Extraction, Reuse, and Continuous Improvement
Computational Engineering, Finance, and Science
Teaches computers to solve new problems logically.