English
Related papers

Related papers: Protocol-Driven Development: Governing Generated S…

200 papers

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

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

We present Test-Driven AI Agent Definition (TDAD), a methodology that treats agent prompts as compiled artifacts: engineers provide behavioral specifications, a coding agent converts them into executable tests, and a second coding agent…

Software Engineering · Computer Science 2026-03-11 Tzafrir Rehan

We show that interactive protocols between a prover and a verifier, a well-known tool of complexity theory, can be used in practice to certify the correctness of automated reasoning tools. Theoretically, interactive protocols exist for all…

Logic in Computer Science · Computer Science 2023-09-07 Eszter Couillard , Philipp Czerner , Javier Esparza , Rupak Majumdar

Property-based testing (PBT) is a technique for validating code against an executable specification by automatically generating test-data. We present a proof-theoretical reconstruction of this style of testing for relational specifications…

Logic in Computer Science · Computer Science 2025-01-22 Dale Miller , Alberto Momigliano

Safety-critical controllers of complex systems are hard to construct manually. Automated approaches such as controller synthesis or learning provide a tempting alternative but usually lack explainability. To this end, learning decision…

Artificial Intelligence · Computer Science 2025-03-26 Debraj Chakraborty , Clemens Dubslaff , Sudeep Kanav , Jan Kretinsky , Christoph Weinhuber

Infinite-state systems such as distributed protocols are challenging to verify using interactive theorem provers or automatic verification tools. Of these techniques, deductive verification is highly expressive but requires the user to…

Programming Languages · Computer Science 2019-05-21 Yotam M. Y. Feldman , James R. Wilcox , Sharon Shoham , Mooly Sagiv

Test Driven Development (TDD) is one of the major practices of Extreme Programming for which incremental testing and refactoring trigger the code development. TDD has limited adoption in the industry, as it requires more code to be…

Software Engineering · Computer Science 2025-01-15 Moritz Mock , Jorge Melegati , Barbara Russo

Even with impressive advances in automated formal methods, certain problems in system verification and synthesis remain challenging. Examples include the verification of quantitative properties of software involving constraints on timing…

Logic in Computer Science · Computer Science 2015-03-19 Sanjit A. Seshia

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

We propose a novel method for automatic program synthesis. P-Tree Programming represents the program search space through a single probabilistic prototype tree. From this prototype tree we form program instances which we evaluate on a given…

Artificial Intelligence · Computer Science 2017-07-13 Christian Oesch

In programming, protocols are everywhere. Protocols describe the pattern of interaction (or communication) between software systems, for example, between a user-space program and the kernel or between a local application and an online…

Programming Languages · Computer Science 2022-11-08 Laura Bocchi , Dominic Orchard , A. Laura Voinea

Model-driven development is a pragmatic approach to software development that embraces domain-specific languages (DSLs), where models correspond to DSL programs. A distinguishing feature of model-driven development is that clients of a…

Software Engineering · Computer Science 2017-04-03 Sebastian Erdweg , Klaus Ostermann

Pattern-Oriented Analysis and Design (POAD) is the practice of building complex software by applying proven designs to specific problem domains. Although a great deal of research and practice has been devoted to formalizing existing design…

Software Engineering · Computer Science 2008-02-27 Jerry Overton

Synthesis is a particularly challenging problem for concurrent programs. At the same time it is a very promising approach, since concurrent programs are difficult to get right, or to analyze with traditional verification techniques. This…

Formal Languages and Automata Theory · Computer Science 2015-06-09 Anca Muscholl

The rapid evolution of large language models (LLMs) has transformed prompt engineering from a localized craft into a systems-level governance challenge. As models scale and update across generations, prompt behavior becomes sensitive to…

Computation and Language · Computer Science 2026-02-27 Hyunwoo Kim , Hanau Yi , Jaehee Bae , Yumin Kim

Many techniques for the automated verification of distributed protocols have been developed over the past several years, but their performance is still unpredictable and their failure modes can be opaque for industrial scale verification…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-04-22 William Schultz , Edward Ashton , Heidi Howard , Stavros Tripakis

Test-driven development (TDD) is the practice of writing tests first and coding later, and the proponents of TDD expound its numerous benefits. For instance, given an issue on a source code repository, tests can clarify the desired behavior…

Software Engineering · Computer Science 2024-12-05 Toufique Ahmed , Martin Hirzel , Rangeet Pan , Avraham Shinnar , Saurabh Sinha

Software design patterns are standard solutions to common problems in software design and architecture. Knowing that a particular module implements a design pattern is a shortcut to design comprehension. Manually detecting design patterns…

Software Engineering · Computer Science 2021-12-03 Najam Nazar , Aldeida Aleti , Yaokun Zheng

The specification and validation of robotics applications require bridging the gap between formulating requirements and systematic testing. This often involves manual and error-prone tasks that become more complex as requirements, design,…

Robotics · Computer Science 2025-07-08 Minh Nguyen , Sebastian Wrede , Nico Hochgeschwender