English
Related papers

Related papers: How We Built Cedar: A Verification-Guided Approach

200 papers

Verification is the process of checking whether a product has been implemented according to its prescribed specifications. We study the case of a designer (the developer) that needs to verify its design by a third party (the verifier), by…

Cryptography and Security · Computer Science 2016-05-13 Yixian Cai , George Karakostas , Alan Wassyng

Gradual verification, which supports explicitly partial specifications and verifies them with a combination of static and dynamic checks, makes verification more incremental and provides earlier feedback to developers. While an abstract,…

Programming Languages · Computer Science 2023-11-14 Conrad Zimmerman , Jenna DiVincenzo , Jonathan Aldrich

Model-driven engineering is the automatic production of software artefacts from abstract models of structure and functionality. By targeting a specific class of system, it is possible to automate aspects of the development process, using…

Software Engineering · Computer Science 2013-01-03 Chen-Wei Wang , Jim Davies

Traditionally, practitioners use formal methods pre-dominately for one half of the quality-assurance process: verification (do we build the software right?). The other half -- validation (do we build the right software?) -- has been given…

Software Engineering · Computer Science 2021-02-12 Atif Mashkoor , Michael Leuschel , Alexander Egyed

Large language models (LLMs) accelerate software development but often exhibit instability, non-determinism, and weak adherence to development discipline in unconstrained workflows. While test-driven development (TDD) provides a structured…

Software Engineering · Computer Science 2026-04-30 Tarlan Hasanli , Shahbaz Siddeeq , Bishwash Khanal , Pyry Kotilainen , Tommi Mikkonen , Pekka Abrahamsson

Critical software systems face stringent requirements in safety, security, and reliability due to the circumstances surrounding their operation. Safety and security have progressively gained importance over the years due to the integration…

Software Engineering · Computer Science 2015-12-16 Julio Escribano-Barreno , Marisol García-Valls

Computer-Aided Design (CAD) models are widely used across industrial design, simulation, and manufacturing processes. Text-to-CAD systems aim to generate editable, general-purpose CAD models from textual descriptions, significantly reducing…

Computer Vision and Pattern Recognition · Computer Science 2025-08-07 Zheyuan Zhou , Jiayi Han , Liang Du , Naiyu Fang , Lemiao Qiu , Shuyou Zhang

This paper summarizes our experience in communicating the elements of reasoning about correctness, and the central role of formal specifications in reasoning about modular, component-based software using a language and an integrated Web IDE…

Software Engineering · Computer Science 2015-08-20 Nabil M. Kabbani , Daniel Welch , Caleb Priester , Stephen Schaub , Blair Durkee , Yu-Shan Sun , Murali Sitaraman

Certified program synthesis (aka vericoding) is the process of automatically generating a program, its formal specification, and a machine-checkable proof of their alignment from a natural-language description. Two challenges make…

Software Engineering · Computer Science 2026-04-21 Yueyang Feng , Dipesh Kafle , Vladimir Gladshtein , Vitaly Kurin , George Pîrlea , Qiyuan Zhao , Peter Müller , Ilya Sergey

Large language models have demonstrated impressive capabilities in generating code, yet they often produce programs with flaws or deviations from intended behavior, limiting their suitability for safety-critical applications. To address…

Software Engineering · Computer Science 2025-04-08 Merlijn Sevenhuijsen , Khashayar Etemadi , Mattias Nyberg

The security of computer systems typically relies on a hardware root of trust. As vulnerabilities in hardware can have severe implications on a system, there is a need for techniques to support security verification activities.…

Cryptography and Security · Computer Science 2024-07-11 Rahul Kande , Hammond Pearce , Benjamin Tan , Brendan Dolan-Gavitt , Shailja Thakur , Ramesh Karri , Jeyavijayan Rajendran

Code generation stands as a powerful technique in modern software development, improving development efficiency, reducing errors, and fostering standardization and consistency. Recently, ChatGPT has exhibited immense potential in automatic…

Software Engineering · Computer Science 2023-12-22 Youjia Li , Jianjun Shi , Zheng Zhang

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

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

Researchers have recently designed a number of application-specific fault tolerance mechanisms that enable applications to either be naturally resilient to errors or include additional detection and correction steps that can bring the…

Programming Languages · Computer Science 2018-05-17 Brett Boston , Zoe Gong , Michael Carbin

In this paper we discuss the growing need for system behaviour to be validated and verified (V&V'ed) early in model-based systems engineering. Several aspects push companies towards integration of techniques, methods, and processes that…

Software Engineering · Computer Science 2024-06-07 Johan Cederbladh , Antonio Cicchetti

Test and verification are essential activities in hardware and system design, but their complexity grows significantly with increasing system sizes. While Behavior Driven Development (BDD) has proven effective in software engineering, it is…

Software Engineering · Computer Science 2025-12-24 Rolf Drechsler , Qian Liu

Behaviour-Driven Development (BDD) has emerged in the last years as a powerful methodology to specify testable and executable user requirements through stories and scenarios. With the support of external testing frameworks, BDD stories can…

Software Engineering · Computer Science 2022-09-14 Thiago Rocha Silva , Marco Winckler

The evolution of machine learning has increasingly prioritized the development of powerful models and more scalable supervision signals. However, the emergence of foundation models presents significant challenges in providing effective…

Artificial Intelligence · Computer Science 2024-11-19 Xinyan Guan , Yanjiang Liu , Xinyu Lu , Boxi Cao , Ben He , Xianpei Han , Le Sun , Jie Lou , Bowen Yu , Yaojie Lu , Hongyu Lin

A fundamental limitation of Text-to-Code is that no guarantee can be obtained about the correctness of the generated code. Therefore, to ensure its correctness, the generated code still has to be reviewed, tested, and maintained by…

Software Engineering · Computer Science 2026-05-15 Haoze Wu , Rocky Klopfenstein , Keith Farkas , Nina Narodytska