Generative AI for Test Driven Development: Preliminary Results

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Mock, Moritz, Melegati, Jorge, Russo, Barbara
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912186840907776
author Mock, Moritz
Melegati, Jorge
Russo, Barbara
author_facet Mock, Moritz
Melegati, Jorge
Russo, Barbara
contents Test Driven Development (TDD) is one of the major practices of Extreme Programming for which incremental testing and refactoring trigger the code development. TDD has limited adoption in the industry, as it requires more code to be developed and experienced developers. Generative AI (GenAI) may reduce the extra effort imposed by TDD. In this work, we introduce an approach to automatize TDD by embracing GenAI either in a collaborative interaction pattern in which developers create tests and supervise the AI generation during each iteration or a fully-automated pattern in which developers only supervise the AI generation at the end of the iterations. We run an exploratory experiment with ChatGPT in which the interaction patterns are compared with the non-AI TDD regarding test and code quality and development speed. Overall, we found that, for our experiment and settings, GenAI can be efficiently used in TDD, but it requires supervision of the quality of the produced code. In some cases, it can even mislead non-expert developers and propose solutions just for the sake of the query.
format Preprint
id arxiv_https___arxiv_org_abs_2405_10849
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Generative AI for Test Driven Development: Preliminary Results
Mock, Moritz
Melegati, Jorge
Russo, Barbara
Software Engineering
Test Driven Development (TDD) is one of the major practices of Extreme Programming for which incremental testing and refactoring trigger the code development. TDD has limited adoption in the industry, as it requires more code to be developed and experienced developers. Generative AI (GenAI) may reduce the extra effort imposed by TDD. In this work, we introduce an approach to automatize TDD by embracing GenAI either in a collaborative interaction pattern in which developers create tests and supervise the AI generation during each iteration or a fully-automated pattern in which developers only supervise the AI generation at the end of the iterations. We run an exploratory experiment with ChatGPT in which the interaction patterns are compared with the non-AI TDD regarding test and code quality and development speed. Overall, we found that, for our experiment and settings, GenAI can be efficiently used in TDD, but it requires supervision of the quality of the produced code. In some cases, it can even mislead non-expert developers and propose solutions just for the sake of the query.
title Generative AI for Test Driven Development: Preliminary Results
topic Software Engineering
url https://arxiv.org/abs/2405.10849