The University of Auckland

Project #125: Improving Search-Based Test Generation with Large Language Models

Back

Description:

Software testing is a costly yet crucial task in software engineering, ensuring confidence in the expected behaviour of implemented software. The automated generation of test cases is a significant and actively researched aspect of software engineering. Search-based software engineering has demonstrated effectiveness in automatically generating test cases, achieving high code coverage, and uncovering faults. EvoSuite, currently the most effective test case generator for Java (available at https://github.com/EvoSuite/evosuite), employs an evolutionary algorithm inspired by Charles Darwin's theory of evolution. This algorithm evolves a population of test cases to enhance coverage and fault detection.

Despite EvoSuite's effectiveness, a substantial gap persists between automatically generated tests and those written by humans, particularly in terms of readability and fault revelation.

The emergence of Large Language Models (LLMs) like ChatGPT has prompted researchers to explore leveraging these models to enhance the effectiveness of search-based test generators such as EvoSuite. However, this is a relatively new research topic, and researchers have only scratched the surface of what LLMs can contribute to improving test case generation. The goal of this research project is to design and explore novel methods for integrating LLMs with EvoSuite. The devised approach will be implemented on top of EvoSuite, which implementation is open-source and publicly available. The effectiveness of test case generation using this combined approach will be compared with previous attempts that integrated search-based test generation and LLMs. Proficiency in Java is essential, as EvoSuite is implemented in Java.

 

Type:

Undergraduate

Outcome:

Prerequisites

None

Specialisations

Categories

Supervisor

Co-supervisor

Team

Lab

HASEL (405.662, Lab)