English
Related papers

Related papers: Example-driven development: bridging tests and doc…

200 papers

A classical problem in Software Engineering is how to certify that every system requirement is correctly implemented by source code. This problem, albeit well studied, can still be considered an open one, given the problems faced by…

Software Engineering · Computer Science 2010-11-11 Rogerio Atem de Carvalho , Rodrigo Soares Manhaes , Fernando Luiz de Carvalho e Silva

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…

Software Engineering · Computer Science 2024-07-19 Oscar Dieste , Ayse Tosun , Sira Vegas , Adrian Santos , Fernando Uyaguari , Jarno Kyykka , Natalia Juristo

In this paper we demonstrate an approach to model structure and behavior of distributed systems, to map those models to a lightweight execution engine by using a functional programming language and to systematically define and execute tests…

Software Engineering · Computer Science 2014-09-24 Borislav Gajanovic , Hans Grönninger , Bernhard Rumpe

Testing has become an indispensable activity of software development, yet writing good and relevant tests remains a quite challenging task. One well-known problem is that it often is impossible or unrealistic to test for every outcome, as…

Programming Languages · Computer Science 2017-08-18 Dimitri Racordon , Didier Buchs

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

The term Model-Driven Engineering (MDE) is typically used to describe software development approaches in which abstract models of software systems are created and systematically transformed to concrete implementations. In this paper we give…

Software Engineering · Computer Science 2016-11-17 Robert France , Bernhard Rumpe

In agile software development, test code can considerably contribute to the overall source code size. Being a valuable asset both in terms of verification and documentation, the composition of a test suite needs to be well understood in…

Software Engineering · Computer Science 2007-11-06 Bart Van Rompaey , Serge Demeyer

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

Formal deductive systems are very common in computer science. They are used to represent logics, programming languages, and security systems. Moreover, writing programs that manipulate them and that reason about them is important and…

Programming Languages · Computer Science 2018-05-21 Francisco Ferreira Ruiz

Recent Large Language Models (LLMs) have demonstrated significant capabilities in generating code snippets directly from problem statements. This increasingly automated process mirrors traditional human-led software development, where code…

Software Engineering · Computer Science 2024-10-23 Noble Saji Mathews , Meiyappan Nagappan

Engineering software systems is a multidisciplinary activity, whereby a number of artifacts must be created - and maintained - synchronously. In this paper we investigate whether production code and the accompanying tests co-evolve by…

Software Engineering · Computer Science 2007-05-25 Andy Zaidman , Bart Van Rompaey , Serge Demeyer , Arie van Deursen

Complex software can be hard to read, adapt, and maintain. Refactoring it can create cleaner and self-explanatory code. Refactoring tools try to guide developers towards better code, with more quality. However, most of them take too long to…

Software Engineering · Computer Science 2023-07-21 Sara Fernandes , Ademar Aguiar , André Restivo

In contemporary scientific research, understanding the distinction between correlation and causation is crucial. While correlation is a widely used analytical standard, it does not inherently imply causation. This paper addresses the…

Machine Learning · Computer Science 2023-12-27 Cao Zhihao , Qu Hongchun

Test or prove? These two approaches to software verification have long been presented as opposites. One is dynamic, the other static: a test executes the program, a proof only analyzes the program text. A different perspective is emerging,…

Software Engineering · Computer Science 2026-02-10 Li Huang , Bertrand Meyer , Manuel Oriol

Background: Software systems powered by large language models are becoming a routine part of everyday technologies, supporting applications across a wide range of domains. In software engineering, many studies have focused on how LLMs…

Software Engineering · Computer Science 2025-08-05 Cleyton Magalhaes , Italo Santos , Brody Stuart-Verner , Ronnie de Souza Santos

In Programming by Example, a system attempts to infer a program from input and output examples, generally by searching for a composition of certain base functions. Performing a naive brute force search is infeasible for even mildly involved…

Artificial Intelligence · Computer Science 2012-09-19 Aditya Krishna Menon , Omer Tamuz , Sumit Gulwani , Butler Lampson , Adam Tauman Kalai

Intelligent coding systems are transforming software development by enabling users to specify code behavior in natural language. However, the opaque decision-making of AI-driven coders raises trust and usability concerns, particularly for…

Software Engineering · Computer Science 2025-08-11 Xiangzhe Xu , Shiwei Feng , Zian Su , Chengpeng Wang , Xiangyu Zhang

Although agile software development methods have caught the attention of software engineers and researchers worldwide, scientific research still remains quite scarce. The aim of this study is to order and make sense of the different agile…

Software Engineering · Computer Science 2019-03-27 Pekka Abrahamsson , Nilay Oza , Mikko T. Siponen

From simulating galaxy formation to viral transmission in a pandemic, scientific models play a pivotal role in developing scientific theories and supporting government policy decisions that affect us all. Given these critical applications,…

Software Engineering · Computer Science 2023-07-03 Andrew G. Clark , Michael Foster , Benedikt Prifling , Neil Walkinshaw , Robert M. Hierons , Volker Schmidt , Robert D. Turner