English
Related papers

Related papers: Studying Test-Driven Development and its Retainmen…

200 papers

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…

Self-Admitted Technical Debt, or SATD, is a self-admission of technical debt present in a software system. To effectively manage SATD, developers need to estimate its priority and assess the effort required to fix the described technical…

Software Engineering · Computer Science 2025-01-03 Nathan Cassee , Neil Ernst , Nicole Novielli , Alexander Serebrenik

The time pressure associated with software development, among other factors, often leads to a diminished emotional state among developers. However, whether emotions affect perceived productivity remains an open question. This study aims to…

Software Engineering · Computer Science 2025-10-07 Pawel Weichbroth , Maciej Lotysz , Michal Wrobel

Decision aids based on artificial intelligence (AI) induce a wide range of outcomes when they are deployed in uncertain environments. In this paper, we investigate how users' trust in recommendations from an AI decision aid is impacted over…

Human-Computer Interaction · Computer Science 2025-06-05 Rex Chen , Ruiyi Wang , Fei Fang , Norman Sadeh

Context: The term technical debt (TD) describes the aggregation of sub-optimal solutions that serve to impede the evolution and maintenance of a system. Some claim that the broken windows theory (BWT), a concept borrowed from criminology,…

Software Engineering · Computer Science 2023-12-29 William Levén , Hampus Broman , Terese Besker , Richard Torkar

Mutation testing is used to evaluate the effectiveness of test suites. In recent years, a promising variation called extreme mutation testing emerged that is computationally less expensive. It identifies methods where their functionality…

Software Engineering · Computer Science 2022-04-15 Maik Betka , Stefan Wagner

Software has eaten the world with many of the necessities and quality of life services people use requiring software. Therefore, tools that improve the software development experience can have a significant impact on the world such as…

Software Engineering · Computer Science 2023-10-18 Nathan Cooper

Context: Technical Debt (TD) discusses the negative impact of sub-optimal decisions to cope with the need-for-speed in software development. Code Technical Debt Items (TDI) are atomic elements of TD that can be observed in code artefacts.…

Software Engineering · Computer Science 2022-01-06 Ehsan Zabardast , Kwabena Ebo Bennin , Javier Gonzalez-Huerta

It can be insightful to extend qualitative studies with a secondary quantitative analysis (where the former suggests insightful questions that the latter can answer). Documenting developer beliefs should be the start, not the end, of…

Software Engineering · Computer Science 2019-04-12 Shrikanth N. C. , Tim Menzies

The widespread availability of large language models (LLMs) has changed how students engage with coding and problem-solving. While these tools may increase student productivity, they also make it more difficult for instructors to assess…

Software Engineering · Computer Science 2026-01-23 Yufan Zhang , Jaromir Savelka , Seth Copen Goldstein , Michael Conway

Measuring developer productivity is a topic that has attracted attention from both academic research and industrial practice. In the age of AI coding assistants, it has become even more important for both academia and industry to understand…

Software Engineering · Computer Science 2026-02-04 Valerie Chen , Jasmyn He , Behnjamin Williams , Jason Valentino , Ameet Talwalkar

Non-deterministically passing and failing test cases, so-called flaky tests, have recently become a focus area of software engineering research. While this research focus has been met with some enthusiastic endorsement from industry, prior…

Software Engineering · Computer Science 2022-04-11 Martin Gruber , Gordon Fraser

Trust is a factor that dramatically contributes to the success or failure of distributed software teams. We present a research model showing that social communication between distant developers enables the affective appraisal of…

Social and Information Networks · Computer Science 2017-10-03 Fabio Calefato , Filippo Lanubile

Mutation testing has been demonstrated to be one of the most powerful fault-revealing tools in the tester's tool kit. Much previous work implicitly assumed it to be sufficient to re-compute mutant suites per release. Sadly, this makes…

Software Engineering · Computer Science 2022-12-23 Milos Ojdanic , Mike Papadakis , Mark Harman

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

Proof Blocks is a software tool that provides students with a scaffolded proof-writing experience, allowing them to drag and drop prewritten proof lines into the correct order instead of starting from scratch. In this paper we describe a…

Computers and Society · Computer Science 2022-12-20 Seth Poulsen , Yael Gertner , Benjamin Cosman , Matthew West , Geoffrey L. Herman

Static analysis tools are frequently used to scan the source code and detect deviations from the project coding guidelines. Given their importance, linters are often introduced to classrooms to educate students on how to detect and…

Software Engineering · Computer Science 2023-07-20 Eman Abdullah AlOmar , Salma Abdullah AlOmar , Mohamed Wiem Mkaouer

With the increasing reliance on software and automation nowadays, tight deadlines, limited resources, and prioritization of functionality over security can lead to insecure coding practices. When not handled properly, these constraints…

Software Engineering · Computer Science 2025-07-16 Chaima Boufaied , Taher Ghaleb , Zainab Masood

Digital technologies such as smartphones are transforming the way scientists conduct biomedical research using real-world data. Several remotely-conducted studies have recruited thousands of participants over a span of a few months.…

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