English
Related papers

Related papers: A Formal Analysis of Iterated TDD

200 papers

Developing distributed systems presents significant challenges, primarily due to the complexity introduced by non-deterministic concurrency and faults. To address these, we propose a specification-driven development framework. Our method…

Software Engineering · Computer Science 2025-09-16 Hua Guo , Yunhong Ji , Xuan Zhou

Large Language Models (LLMs), such as ChatGPT, are increasingly leveraged for generating both traditional software code and spreadsheet logic. Despite their impressive generative capabilities, these models frequently exhibit critical issues…

Software Engineering · Computer Science 2025-11-27 Simon Thorne , Advait Sarkar

Usually, it is the software manufacturer who employs verification or testing to ensure that the software embedded in a device meets its main objectives. However, these days we are confronted with the situation that economical or…

Logic in Computer Science · Computer Science 2017-02-16 Pedro R. D'Argenio , Gilles Barthe , Sebastian Biewer , Bernd Finkbeiner , Holger Hermanns

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

The evolution of information technology and electronics in general has been consistently increasing the use of embedded systems. While hardware development for these systems is already consistent, software development for embedded systems…

Software Engineering · Computer Science 2015-08-05 Rogerio Atem de Carvalho , Hudson Silva , Rafael Ferreira Toledo , Milena Silveira de Azevedo

Typical software has a huge input space. The number of inputs may be astronomical or even infinite. Thus, the task of validating that the software is correct seems hopeless. To deal with this difficult task, Combinatorial Test Design (CTD)…

Software Engineering · Computer Science 2024-10-28 Eitan Farchi , Debbie Furman

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

Test-driven Development (TDD) is an incremental approach to software development. Despite it is claimed to improve both quality of software and developers' productivity, the research on the claimed effects of TDD has so far shown…

Software Engineering · Computer Science 2020-04-17 Simone Romano , Giuseppe Scanniello , Maria Teresa Baldassarre , Davide Fucci , Danilo Caivano

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

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

Decentralized systems have been widely developed and applied to address security and privacy issues in centralized systems, especially since the advancement of distributed ledger technology. However, it is challenging to ensure their…

Software Engineering · Computer Science 2022-02-01 Yepeng Ding , Hiroyuki Sato

Programming requires much more than just writing code in a programming language. It is usually done in the context of a stateful environment, by interacting with a system through a graphical user interface. Yet, this wide space of…

Programming Languages · Computer Science 2023-02-21 Joel Jakubovic , Jonathan Edwards , Tomas Petricek

Dependent types help programmers write highly reliable code. However, this reliability comes at a cost: it can be challenging to write new prototypes in (or migrate old code to) dependently-typed programming languages. Gradual typing makes…

Programming Languages · Computer Science 2019-08-23 Joseph Eremondi , Éric Tanter , Ronald Garcia

A growing number of researchers suggest that software process must be tailored to a project's context to achieve maximal performance. Researchers have studied 'context' in an ad-hoc way, with focus on those contextual factors that appear to…

Software Engineering · Computer Science 2021-02-19 Diana Kirk , Stephen G. MacDonell

Developing multithreaded software is an extremely challenging task, even for experienced programmers. The challenge does not end after the code is written. There are other tasks associated with a development process that become…

Software Engineering · Computer Science 2014-09-04 Evgeny Vainer , Amiram Yehudai

Software testing is presented as a so-called theme within which different authors and groups have defined different subjects each of these subjects having a different focus on testing. A uniform concept of software testing is non-existent…

Software Engineering · Computer Science 2012-01-20 J. A. Bergstra

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…

Software testing is a prime factor in software industry. Besides knowing the importance of testing, only limited time is allocated for teaching it. It will be more efficient if testing is taught simultaneously with programming foundations.…

Artificial Intelligence · Computer Science 2013-02-22 A. Anandaraj , P. Kalaivani , V. Rameshkumar

Estimating software testability can crucially assist software managers to optimize test budgets and software quality. In this paper, we propose a new approach that radically differs from the traditional approach of pursuing testability…

Software Engineering · Computer Science 2023-08-01 Luca Guglielmo , Leonardo Mariani , Giovanni Denaro

Complex Systems were identified and studied in different fields, such as physics, biology, and economics. These systems exhibit exciting properties such as self-organization, robust order, and emergence. In recent years, software systems…

Software Engineering · Computer Science 2023-06-22 Jan Žižka , Bruno Rossi , Tomáš Pitner