The role of slicing in test-driven development
- URL: http://arxiv.org/abs/2407.13258v1
- Date: Thu, 18 Jul 2024 08:10:38 GMT
- Title: The role of slicing in test-driven development
- Authors: Oscar Dieste, Ayse Tosun, Sira Vegas, Adrian Santos, Fernando Uyaguari, Jarno Kyykka, Natalia Juristo,
- Abstract summary: 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.
- Score: 39.01665062857323
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Test-driven development (TDD) is a widely used agile practice. However, very little is known with certainty about TDD's underlying foundations, i.e., the way TDD works. In this paper, we propose a theoretical framework for TDD, with the following characteristics: 1) Each TDD cycle represents a vertical slice of a (probably also small) user story, 2) vertical slices are captured using contracts, implicit in the developers' minds, and 3) the code created during a TDD cycle is a sliced-based specification of a code oracle, using the contracts as slicing pre/post-conditions. We have checked the connections among TDD, contracts, and slices using a controlled experiment conducted in the industry.
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) - A Formal Analysis of Iterated TDD [0.0]
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.
arXiv Detail & Related papers (2024-07-04T08:07:35Z) - 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) - Active Test-Time Adaptation: Theoretical Analyses and An Algorithm [51.84691955495693]
Test-time adaptation (TTA) addresses distribution shifts for streaming test data in unsupervised settings.
We propose the novel problem setting of active test-time adaptation (ATTA) that integrates active learning within the fully TTA setting.
arXiv Detail & Related papers (2024-04-07T22:31:34Z) - Test-Driven Development for Code Generation [0.850206009406913]
Large Language Models (LLMs) have demonstrated significant capabilities in generating code snippets directly from problem statements.
This paper investigates if and how Test-Driven Development (TDD) can be incorporated into AI-assisted code-generation processes.
arXiv Detail & Related papers (2024-02-21T04:10:12Z) - 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) - Towards Stable Test-Time Adaptation in Dynamic Wild World [60.98073673220025]
Test-time adaptation (TTA) has shown to be effective at tackling distribution shifts between training and testing data by adapting a given model on test samples.
Online model updating of TTA may be unstable and this is often a key obstacle preventing existing TTA methods from being deployed in the real world.
arXiv Detail & Related papers (2023-02-24T02:03:41Z) - Test-time Adaptation vs. Training-time Generalization: A Case Study in
Human Instance Segmentation using Keypoints Estimation [48.30744831719513]
We consider the problem of improving the human instance segmentation mask quality for a given test image using keypoints estimation.
The first approach is a test-time adaptation (TTA) method, where we allow test-time modification of the segmentation network's weights using a single unlabeled test image.
The second approach is a training-time generalization (TTG) method, where we permit offline access to the labeled source dataset but not the test-time modification of weights.
arXiv Detail & Related papers (2022-12-12T20:56:25Z) - 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) - End-to-end Temporal Action Detection with Transformer [86.80289146697788]
Temporal action detection (TAD) aims to determine the semantic label and the boundaries of every action instance in an untrimmed video.
Here, we construct an end-to-end framework for TAD upon Transformer, termed textitTadTR.
Our method achieves state-of-the-art performance on HACS Segments and THUMOS14 and competitive performance on ActivityNet-1.3.
arXiv Detail & Related papers (2021-06-18T17:58:34Z)
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.