A Formal Analysis of Iterated TDD
Fuente:
arXiv
Gespeichert in:
| Hauptverfasser: | , |
|---|---|
| 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 |