A Formal Analysis of Iterated TDD
- URL: http://arxiv.org/abs/2407.12839v1
- Date: Thu, 4 Jul 2024 08:07:35 GMT
- Title: A Formal Analysis of Iterated TDD
- Authors: Hemil Ruparel, Nabarun Mondal,
- Abstract summary: We formally analyze the software methodology called (iterated) Test Driven Development (TDD)
We find a context in which iterated TDD provably produce'' provably correct code'' while being stable in terms of iterated code churns.
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.
- Score: 0.0
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: 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.
Related papers
- TDD-Bench Verified: Can LLMs Generate Tests for Issues Before They Get Resolved? [11.762669773233474]
Test-driven development (TDD) is the practice of writing tests first and coding later.
This paper introduces TDD-Bench Verified, a high-quality benchmark suite of 449 issues mined from real-world GitHub code repositories.
arXiv Detail & Related papers (2024-12-03T22:38:05Z) - TDDBench: A Benchmark for Training data detection [42.49625153675721]
Training Data Detection (TDD) is a task aimed at determining whether a specific data instance is used to train a machine learning model.
There is no comprehensive benchmark to thoroughly evaluate the effectiveness of TDD methods.
We benchmark 21 different TDD methods across four detection paradigms and evaluate their performance from five perspectives.
arXiv Detail & Related papers (2024-11-05T05:48:48Z) - The role of slicing in test-driven development [39.01665062857323]
Test-driven development (TDD) is a widely used agile practice.
We propose a theoretical framework for TDD, with the following characteristics.
We have checked the connections among TDD, contracts, and slices using a controlled experiment conducted in the industry.
arXiv Detail & Related papers (2024-07-18T08:10:38Z) - Generative AI for Test Driven Development: Preliminary Results [2.5385600700122737]
Test Driven Development (TDD) is one of the major practices of Extreme Programming.
Generative AI (GenAI) may reduce the extra effort imposed by TDD.
arXiv Detail & Related papers (2024-05-17T15:26:10Z) - Canonical Decision Diagrams Modulo Theories [0.19285000127136376]
Decision diagrams are powerful tools to represent propositional formulas.
Some forms of DDs (e.g., OBDDs, SDDs) are canonical, that is, (under given conditions on the atom list) they univocally represent equivalence classes of formulas.
We present a novel technique to leverage DDs to SMT level, which has several advantages.
arXiv Detail & Related papers (2024-04-25T09:34:49Z) - Towards a TDD maturity model through an anti-patterns framework [0.0]
This paper proposes a research project that explores the TDD anti-patterns context and what leads practitioners to face them in the software development context.
As a result, we expect to offer a TDD maturity framework to help practitioners in the process of writing code guided by tests.
arXiv Detail & Related papers (2023-07-21T12:30:20Z) - GDA: Generative Data Augmentation Techniques for Relation Extraction
Tasks [81.51314139202152]
We propose a dedicated augmentation technique for relational texts, named GDA, which uses two complementary modules to preserve both semantic consistency and syntax structures.
Experimental results in three datasets under a low-resource setting showed that GDA could bring em 2.0% F1 improvements compared with no augmentation technique.
arXiv Detail & Related papers (2023-05-26T06:21:01Z) - When do you need Chain-of-Thought Prompting for ChatGPT? [87.45382888430643]
Chain-of-Thought (CoT) prompting can effectively elicit complex multi-step reasoning from Large Language Models(LLMs)
It is not clear whether CoT is still effective on more recent instruction finetuned (IFT) LLMs such as ChatGPT.
arXiv Detail & Related papers (2023-04-06T17:47:29Z) - DPTDR: Deep Prompt Tuning for Dense Passage Retrieval [53.217524851268216]
Deep prompt tuning (DPT) has gained great success in most natural language processing(NLP) tasks.
However, it is not well-investigated in dense retrieval where fine-tuning(FT) still dominates.
We propose two model-agnostic and task-agnostic strategies for DPT-based retrievers, namely retrieval-oriented intermediate pretraining and unified negative mining.
arXiv Detail & Related papers (2022-08-24T12:55:00Z) - Robust Continual Test-time Adaptation: Instance-aware BN and
Prediction-balanced Memory [58.72445309519892]
We present a new test-time adaptation scheme that is robust against non-i.i.d. test data streams.
Our novelty is mainly two-fold: (a) Instance-Aware Batch Normalization (IABN) that corrects normalization for out-of-distribution samples, and (b) Prediction-balanced Reservoir Sampling (PBRS) that simulates i.i.d. data stream from non-i.i.d. stream in a class-balanced manner.
arXiv Detail & Related papers (2022-08-10T03:05:46Z) - Belief Revision in Sentential Decision Diagrams [126.94029917018733]
We develop a general revision algorithm for SDDs based on a syntactic characterisation of Dalal revision.
Preliminary experiments performed with randomly generated knowledge bases show the advantages of directly perform revision within SDD formalism.
arXiv Detail & Related papers (2022-01-20T11:01:41Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.