English
Related papers

Related papers: Improving Development Practices through Experiment…

200 papers

Context: Software Engineering (SE) experiments suffer from threats to validity that may impact their results. Replication allows researchers building on top of previous experiments' weaknesses and increasing the reliability of the findings.…

Software Engineering · Computer Science 2020-04-14 Adrian Santos , Sira Vegas , Fernando Uyaguari , Oscar Dieste , Burak Turhan , Natalia Juristo

Developers often opt for easier but non-optimal implementation to meet deadlines or create rapid prototypes, leading to additional effort known as technical debt to improve the code later. Oftentimes, developers explicitly document the…

Software Engineering · Computer Science 2026-02-10 Ibuki Nakamura , Yutaro Kashiwa , Bin Lin , Hajimu Iida

Experiments are a commonly used method of research in software engineering (SE). Researchers report their experiments following detailed guidelines. However, researchers do not, in the field of test-driven development (TDD) at least,…

Software Engineering · Computer Science 2024-08-26 Fernando Uyaguari , Silvia T. Acuña , John W. Castro , Davide Fucci , Oscar Dieste , Sira Vegas

Software Engineering (SE) experiments are traditionally analyzed with statistical tests (e.g., t-tests, ANOVAs, etc.) that assume equally spread data across treatments (i.e., the homogeneity of variances assumption). Differences across…

Software Engineering · Computer Science 2018-09-06 Adrian Santos , Markku Oivo , Natalia Juristo

Technical Debt (TD) refers to the situation where developers make trade-offs to achieve short-term goals at the expense of long-term code quality, which can have a negative impact on the quality of software systems. In the context of code…

Software Engineering · Computer Science 2022-09-27 Liming Fu , Peng Liang , Zeeshan Rasheed , Zengyang Li , Amjed Tahir , Xiaofeng Han

This paper presents a tool stack for the implementation, specification and test of software following the practices of Behavior Driven Development (BDD) in Python language. The usage of this stack highlights the specification and validation…

The technical debt (TD) metaphor describes actions made during various stages of software development that lead to a more costly future regarding system maintenance and evolution. According to recent studies, on average 25% of development…

Software systems should be explainable, that is, they should help us to answer questions while exploring, developing or using them. Textual documentation is a very weak form of explanation, since it is not causally connected to the code, so…

Software Engineering · Computer Science 2024-09-04 Oscar Nierstrasz , Andrei Chiş , Tudor Gîrba

"Train While You Fight" (TWYF) advocates for continuous learning that occurs during operations, not just before or after. This paper examines the technical requirements that advanced distributed learning (ADL) platforms must meet to support…

Software Engineering · Computer Science 2025-11-27 Simon Hacks

It is widely documented that the absence of a structured approach to spreadsheet engineering is a key factor in the high level of spreadsheet errors. In this paper we propose and investigate the application of Test-Driven Development to the…

Software Engineering · Computer Science 2024-12-31 Alan Rust , Brian Bishop , Kevin McDaid

Large language models (LLMs) accelerate software development but often exhibit instability, non-determinism, and weak adherence to development discipline in unconstrained workflows. While test-driven development (TDD) provides a structured…

Software Engineering · Computer Science 2026-04-30 Tarlan Hasanli , Shahbaz Siddeeq , Bishwash Khanal , Pyry Kotilainen , Tommi Mikkonen , Pekka Abrahamsson

Test-Driven Development (TDD) is a widely adopted software engineering practice that requires developers to create and execute tests alongside code implementation, ensuring that software behavior is continuously validated and refined. In…

Software Engineering · Computer Science 2025-10-01 Yiran Hu , Nan Jiang , Shanchao Liang , Yi Wu , Lin Tan

We present a quasi-experiment to investigate whether, and to what extent, sleep deprivation impacts the performance of novice software developers using the agile practice of test-first development (TFD). We recruited 45 undergraduates and…

Software Engineering · Computer Science 2018-05-08 Davide Fucci , Giuseppe Scanniello , Simone Romano , Natalia Juristo

Context. Technical Debt (TD), defined as software constructs that are beneficial in the short term but may hinder future change, is a frequently used term in software development practice. Nevertheless, practitioners do not always fully…

Software Engineering · Computer Science 2025-02-05 Marion Wiese , Angelina Heinrichs , Nino Rusieshvili , Rodrigo Rebouças de Almeida , Klara Borowa

Today-s business environment is very much dynamic, and organisations are constantly changing their software requirements to adjust with new environment. They also demand for fast delivery of software products as well as for accepting…

Software Engineering · Computer Science 2013-07-15 A B M Moniruzzaman , Dr Syed Akhter Hossain

Many scientific-software projects test their codes inadequately, or not at all. Despite its well-known benefits, adopting routine testing is often not easy. Development teams may have doubts about establishing effective test procedures,…

Software Engineering · Computer Science 2014-11-11 Paul Madden , Eduardo G. Valente

Test-driven development (TDD) is a widely-employed software development practice that mandates writing test cases based on requirements before writing the actual code. While writing test cases is the centerpiece of TDD, it is…

Software Engineering · Computer Science 2025-03-03 Wannita Takerngsaksiri , Rujikorn Charakorn , Chakkrit Tantithamthavorn , Yuan-Fang Li

Context: Technical debt (TD) refers to the additional costs incurred due to compromises in software quality, providing short-term advantages during development but potentially compromising long-term quality. Accurate TD forecasting and…

Software Engineering · Computer Science 2024-06-19 Adekunle Ajibode , Yvon Apedo , Temitope Ajibode

A new workflow for software development (proof-driven development) is presented. An extension of test-driven development, the new workflow utilizes the paradigm of dependently typed programming. The differences in design, complexity and…

Software Engineering · Computer Science 2015-12-08 Ben Goodspeed

AI coding agents can resolve real-world software issues, yet they frequently introduce regressions -- breaking tests that previously passed. Current benchmarks focus almost exclusively on resolution rate, leaving regression behavior…

Software Engineering · Computer Science 2026-03-20 Pepe Alonso , Sergio Yovine , Victor A. Braberman