A Formal Analysis of Iterated TDD

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Ruparel, Hemil, Mondal, Nabarun
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866910531996090368
author Ruparel, Hemil
Mondal, Nabarun
author_facet Ruparel, Hemil
Mondal, Nabarun
contents In this paper we formally analyze the software methodology called (iterated) Test Driven Development (TDD). We formally define Specification, Software, Testing, Equivalence Partitions, Coupling, to argue about the nature of the software development in terms of TDD. We formalize Iterative TDD and find a context in which iterated TDD ``provably produce'' ``provably correct code'' from ``specifications'' while being stable in terms of iterated code churns. We demonstrate that outside this context iterated TDD will exhibit chaotic behavior, implying unpredictable messy amount of code churn. We argue that the research finding of ``ineffective'' iterated TDD found by earlier researches are due to missing this context, while the findings of ``effective'' iterated TDD is due to accidentally falling into the context or simply placebo.
format Preprint
id arxiv_https___arxiv_org_abs_2407_12839
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle A Formal Analysis of Iterated TDD
Ruparel, Hemil
Mondal, Nabarun
Software Engineering
Systems and Control
Dynamical Systems
Optimization and Control
Primary 68N30, Secondary 37B99, 68Q99, 93C99, 93D99, 68Q30.93D99, 68Q30
In this paper we formally analyze the software methodology called (iterated) Test Driven Development (TDD). We formally define Specification, Software, Testing, Equivalence Partitions, Coupling, to argue about the nature of the software development in terms of TDD. We formalize Iterative TDD and find a context in which iterated TDD ``provably produce'' ``provably correct code'' from ``specifications'' while being stable in terms of iterated code churns. We demonstrate that outside this context iterated TDD will exhibit chaotic behavior, implying unpredictable messy amount of code churn. We argue that the research finding of ``ineffective'' iterated TDD found by earlier researches are due to missing this context, while the findings of ``effective'' iterated TDD is due to accidentally falling into the context or simply placebo.
title A Formal Analysis of Iterated TDD
topic Software Engineering
Systems and Control
Dynamical Systems
Optimization and Control
Primary 68N30, Secondary 37B99, 68Q99, 93C99, 93D99, 68Q30.93D99, 68Q30
url https://arxiv.org/abs/2407.12839