English
Related papers

Related papers: A Formal Analysis of Iterated TDD

200 papers

Software testing has often to be done under severe pressure due to limited resources and a challenging time schedule facing the demand to assure the fulfillment of the software requirements. In addition, testing should unveil those software…

Software Engineering · Computer Science 2019-12-30 Michael Felderer , Ina Schieferdecker

Technologies play an important role in the hiring process for software professionals. Within this process, several studies revealed misconceptions and bad practices which lead to suboptimal recruitment experiences. In the same context, grey…

Software Engineering · Computer Science 2021-08-24 Jonas Fritzsch , Marvin Wyrich , Justus Bogner , Stefan Wagner

There are several forms of irreducibility in computing systems, ranging from undecidability to intractability to nonlinearity. This paper is an exploration of the conceptual issues that have arisen in the course of investigating speed-up…

Computational Complexity · Computer Science 2011-06-24 Hector Zenil , Fernando Soler-Toscano , Joost J. Joosten

In this paper, we investigate the effect of TDD, as compared to a non-TDD approach, as well as its retainment (or retention) over a time span of (about) six months. To pursue these objectives, we conducted a (quantitative) longitudinal…

Software Engineering · Computer Science 2021-05-12 Maria Teresa Baldassarre , Danilo Caivano , Davide Fucci , Natalia Juristo , Simone Romano , Giuseppe Scanniello , BurakTurhan

Building software-driven systems that are easily understood becomes a challenge, with their ever-increasing complexity and autonomy. Accordingly, recent research efforts strive to aid in designing explainable systems. Nevertheless, a common…

Artificial Intelligence · Computer Science 2019-02-11 Dimitri Bohlender , Maximilian A. Köhl

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

To improve the quality of programs we provide an approach to guidance in the process of program development. At the higher level the various activities and their dependencies to structure the process are identified. At the lower level,…

Software Engineering · Computer Science 2024-11-21 Harrie Passier , Lex Bijlsma , Ruurd Kuiper , Kees Huizing

Behaviour-Driven Development (BDD) has emerged in the last years as a powerful methodology to specify testable and executable user requirements through stories and scenarios. With the support of external testing frameworks, BDD stories can…

Software Engineering · Computer Science 2022-09-14 Thiago Rocha Silva , Marco Winckler

Context: Technical debt (TD) is a widely studied metaphor that helps to explain how sub-optimal decisions that can harm software maintainability over time. Although incurring TD is not intrinsically bad, tracking and managing TD are crucial…

Software Engineering · Computer Science 2026-05-29 João Paulo Biazotto , Daniel Feitosa , Paris Avgeriou , Elisa Yumi Nakagawa

Context: Topic modeling finds human-readable structures in unstructured textual data. A widely used topic modeler is Latent Dirichlet allocation. When run on different datasets, LDA suffers from "order effects" i.e. different topics are…

Software Engineering · Computer Science 2018-03-16 Amritanshu Agrawal , Wei Fu , Tim Menzies

Machine learning workflow development is anecdotally regarded to be an iterative process of trial-and-error with humans-in-the-loop. However, we are not aware of quantitative evidence corroborating this popular belief. A quantitative…

Machine Learning · Computer Science 2018-05-21 Doris Xin , Litian Ma , Shuchen Song , Aditya Parameswaran

Many software developments projects fail due to quality problems. Software testing enables the creation of high quality software products. Since it is a cumbersome and expensive task, and often hard to manage, both its technical background…

Software Engineering · Computer Science 2015-03-17 Tim A. Majchrzak

Distributed programs are hard to get right because they are required to be open, scalable, long-running, and tolerant to faults. In particular, the recent approaches to distributed software based on (micro-)services where different services…

Programming Languages · Computer Science 2017-08-25 Ian Cassar , Adrian Francalanza , Claudio Antares Mezzina , Emilio Tuosto

Context: Test-driven development (TDD) is a widely employed software development practice that involves developing test cases based on requirements prior to writing the code. Although various methods for automated test case generation have…

Software Engineering · Computer Science 2025-04-02 Saranya Alagarsamy , Chakkrit Tantithamthavorn , Wannita Takerngsaksiri , Chetan Arora , Aldeida Aleti

Nowadays many software development frameworks implement Behavior-Driven Development (BDD) as a mean of automating the test of interactive systems under construction. Automated testing helps to simulate user's action on the User Interface…

Human-Computer Interaction · Computer Science 2019-05-27 Thiago Rocha , Jean-Luc Hak , Marco Winckler

Implementing correct distributed systems is an error-prone task. Runtime Verification (RV) offers a lightweight formal method to improve reliability by monitoring system executions against correctness properties. However, applying RV in…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-06-03 Armando Castañeda , Gilde Valeria Rodríguez

Declarative Distributed Systems (DDSs) are distributed systems grounded in logic programming. Although DDS model-checking is undecidable in general, we detect decidable cases by tweaking the data-source bounds, the message expressiveness,…

Logic in Computer Science · Computer Science 2023-08-22 Francesco Di Cosmo

There is growing acknowledgement within the software engineering community that a theory of software development is needed to integrate the myriad methodologies that are currently popular, some of which are based on opposing perspectives.…

Software Engineering · Computer Science 2021-03-22 Diana Kirk , Stephen G. MacDonell

Model-driven engineering is the automatic production of software artefacts from abstract models of structure and functionality. By targeting a specific class of system, it is possible to automate aspects of the development process, using…

Software Engineering · Computer Science 2013-01-03 Chen-Wei Wang , Jim Davies

Test and verification are essential activities in hardware and system design, but their complexity grows significantly with increasing system sizes. While Behavior Driven Development (BDD) has proven effective in software engineering, it is…

Software Engineering · Computer Science 2025-12-24 Rolf Drechsler , Qian Liu