English
Related papers

Related papers: A Formal Analysis of Iterated TDD

200 papers

We study the problem of empirical coordination subject to a fidelity criterion for a general set-up. We prove a result which indicates a strong connection between our framework and the framework of empirical coordination developed in [1].…

Information Theory · Computer Science 2019-07-16 Michail Mylonakis , Photios A. Stavrou , Mikael Skoglund

Technical Debt is a metaphor used to describe the situation in which long-term software artifact quality is traded for short-term goals in software projects. In recent years, the concept of self-admitted technical debt (SATD) was proposed,…

Software Engineering · Computer Science 2021-11-03 Tao Xiao , Dong Wang , Shane McIntosh , Hideaki Hata , Raula Gaikovina Kula , Takashi Ishio , Kenichi Matsumoto

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

Experimental design has emerged as a powerful approach for improving the sample efficiency of A/B testing, yet existing designs rely critically on correctly specified models. We study robust sequential experimental design under model…

Machine Learning · Statistics 2026-05-14 Qianglin Wen , Xiangkun Wu , Chengchun Shi , Ting Li , Niansheng Tang , Yingying Zhang , Hongtu Zhu

In a traditional formal development process, e.g. using the B method, the informal user requirements are (manually) translated into a global abstract formal specification. This translation is especially difficult to achieve. The Event-B…

Software Engineering · Computer Science 2016-06-08 Thomas Fayolle , Marc Frappier , Régine Laleau , Frédéric Gervais

Technical debt denotes shortcuts taken during software development, mostly for the sake of expedience. When such shortcuts are admitted explicitly by developers (e.g., writing a TODO/Fixme comment), they are termed as Self-Admitted…

Software Engineering · Computer Science 2022-11-22 Yikun Li , Mohamed Soliman , Paris Avgeriou , Lou Somers

Early stages of system development involve outlining desired features such as functionality, availability, or usability. Specifications are derived from these features that concretize vague ideas presented in natural languages. The…

Software Engineering · Computer Science 2014-10-09 Rongjie Yan , Chih-Hong Cheng , Guangquan Zhang , Yesheng Chai

Technical debt (TD) is a metaphor to describe the trade-off between short-term workarounds and long-term goals in software development. Despite being widely used to explain technical issues in business terms, industry and academia still…

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

Embedded systems in safety-critical environments are continuously required to deliver more performance and functionality, while expected to provide verified safety guarantees. Nonetheless, platform-wide software verification (required for…

Systems and Control · Computer Science 2017-05-09 Fardin Abdi , Renato Mancuso , Rohan Tabish , Marco Caccamo

Formal software specification is known to enable early error detection and explicit invariants, yet it has seen limited industrial adoption due to its high notation overhead and the expertise required to use traditional formal languages.…

Software Engineering · Computer Science 2026-01-16 Antonio Abu Nassar , Eitan Farchi

Time distributed optimization is an implementation strategy that can significantly reduce the computational burden of model predictive control by exploiting its robustness to incomplete optimization. When using this strategy, optimization…

Optimization and Control · Mathematics 2020-04-14 Dominic Liao-McPherson , Marco Nicotra , Ilya Kolmanovsky

Background: Code reviewing is an essential part of software development to ensure software quality. However, the abundance of review tasks and the intensity of the workload for reviewers negatively impact the quality of the reviews. The…

Software Engineering · Computer Science 2022-07-26 Shadikur Rahman , Umme Ayman Koana , Maleknaz Nayebi

Software development is a complex activity which depends on diverse technologies and people's expertise. The approaches to developing software highly depend on these different characteristics, which are the context developers are subject…

Software Engineering · Computer Science 2019-10-21 Glaucia Melo , Paulo Alencar , Don Cowan

In dependently typed programming, proofs of basic, structural properties can be embedded implicitly into programs and do not need to be written explicitly. Besides saving the effort of writing separate proofs, a most distinguishing and…

Programming Languages · Computer Science 2021-03-09 Hsiang-Shang Ko

Many researchers have studied the behaviour of successful developers while debugging desktop software. In this paper, we investigate the embedded-software debugging by intermediate programmers through an exploratory study. The bugs are…

Software Engineering · Computer Science 2017-04-12 Pansy Arafa , Daniel Solomon , Samaneh Navabpour , Sebastian Fischmeister

Development of formal proofs of correctness of programs can increase actual and perceived reliability and facilitate better understanding of program specifications and their underlying assumptions. Tools supporting such development have…

Logic in Computer Science · Computer Science 2020-03-17 Talia Ringer , Karl Palmskog , Ilya Sergey , Milos Gligoric , Zachary Tatlock

The rigid gang task model is based on the idea of executing multiple threads simultaneously on a fixed number of processors to increase efficiency and performance. Although there is extensive literature on global rigid gang scheduling,…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-09-04 Binqi Sun , Tomasz Kloda , Marco Caccamo

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-08 Diana Kirk , Stephen G. MacDonell

Technical debt refers to the trade-offs between code quality and faster delivery, impacting future development with increased complexity, bugs, and costs. This study empirically analyzes the additional work effort caused by technical debt…

Software Engineering · Computer Science 2025-02-25 Kartik Gupta