English
Related papers

Related papers: A Unit Proofing Framework for Code-level Verificat…

200 papers

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

Recent progress in large language models (LLMs) has substantially advanced automatic code generation and formal theorem proving, yet software verification has not seen comparable gains. To address this gap, we propose WybeCoder, an agentic…

Software Engineering · Computer Science 2026-04-16 Fabian Gloeckle , Mantas Baksys , Darius Feher , Kunhao Zheng , Amaury Hayat , Sean B. Holden , Gabriel Synnaeve , Peter O'Hearn

Formal methods and testing are two important approaches that assist in the development of high quality software. For long time these approaches have been seen as competitors and there was very little interaction between the two communities.…

Software Engineering · Computer Science 2014-03-31 A. P. van der Meer , R. Kherrazi , M. Hamilton

The cutting edge in systems development today is in the area of "systems of systems" (SoS) large networks of inter-related systems that are developed and managed separately, but that also perform collective activities. Such large systems…

Software Engineering · Computer Science 2013-11-15 Eric Honour

Recent frontier large language models (LLMs) have shown strong performance in identifying security vulnerabilities in large, mature open-source systems. As LLM-generated code becomes increasingly common, a natural goal is to prevent such…

Software Engineering · Computer Science 2026-05-13 Zhaorui Li , Chengyu Song

Compilers are a prime target for formal verification, since compiler bugs invalidate higher-level correctness guarantees, but compiler changes may become more labor-intensive to implement, if they must come with proof patches. One appealing…

Programming Languages · Computer Science 2025-03-12 Jason Gross , Andres Erbsen , Jade Philipoom , Rajashree Agrawal , Adam Chlipala

Automated code generation with large language models has gained significant traction, but there remains no guarantee on the correctness of generated code. We aim to use formal verification to provide mathematical guarantees that the…

Machine Learning · Computer Science 2024-12-10 Pranjal Aggarwal , Bryan Parno , Sean Welleck

The validation of requirements is a fundamental step in the development process of safety-critical systems. In safety critical applications such as aerospace, avionics and railways, the use of formal methods is of paramount importance both…

Software Engineering · Computer Science 2012-06-28 Alessandro Cimatti , Marco Roveri , Angelo Susi , Stefano Tonetta

Software updates, including bug repair and feature additions, are frequent in modern applications but they often leave test suites outdated, resulting in undetected bugs and increased chances of system failures. A recent study by Meta…

Software Engineering · Computer Science 2025-03-20 Shanto Rahman , Sachit Kuhar , Berk Cirisci , Pranav Garg , Shiqi Wang , Xiaofei Ma , Anoop Deoras , Baishakhi Ray

Noisy data, non-convex objectives, model misspecification, and numerical instability can all cause undesired behaviors in machine learning systems. As a result, detecting actual implementation errors can be extremely difficult. We…

Software Engineering · Computer Science 2017-06-28 Daniel Selsam , Percy Liang , David L. Dill

Model checkers use automated state exploration in order to prove various properties such as reachability, non-reachability, and bisimulation over state transition systems. While model checkers have proved valuable for locating errors in…

Logic in Computer Science · Computer Science 2015-08-03 Quentin Heath , Dale Miller

A program verifier is a tool that can be used to verify that a "contract" for a program holds - i.e. given a precondition the program guarantees that a given postcondition holds - by only working at the level of the annotated program. An…

Software Engineering · Computer Science 2014-06-12 Gudmund Grov

Nowadays, smart contracts have become increasingly popular and, as with software development in general, testing is the standard method for verifying their correctness. However, smart contracts require a higher level of certainty regarding…

Software Engineering · Computer Science 2023-07-06 Alexandre Mota , Fei Yang , Cristiano Teixeira

This paper introduces several techniques that improve the scalability of the deductive verification of data-level programs working on arrays and matrices. First of all, we introduce a technique to rewrite expressions with (nested)…

Software Engineering · Computer Science 2026-05-14 Lars B. van den Haak , Anton Wijs , Marieke Huisman

Unit testing represents the foundational basis of the software testing pyramid, beneath integration and end-to-end testing. Automated software testing researchers have proposed a variety of techniques to assist developers in this…

Software Engineering · Computer Science 2022-03-25 Michele Tufano , Dawn Drain , Alexey Svyatkovskiy , Neel Sundaresan

Large language models (LLMs) have demonstrated remarkable progress in code generation, but many existing benchmarks are approaching saturation and offer little guarantee on the trustworthiness of the generated programs. To improve…

Software Engineering · Computer Science 2025-10-08 Xun Deng , Sicheng Zhong , Barış Bayazıt , Andreas Veneris , Fan Long , Xujie Si

Formal methods for software correctness are critical to the future of software engineering - and so must be an essential part of software engineering education. Unfortunately, formal methods are often resisted by students due to perceived…

Software Engineering · Computer Science 2022-05-03 James Noble , David Streader , Isaac Oscar Gariano , Miniruwani Samarakoon

Increased demands in the field of scientific computation require that algorithms be more efficiently implemented. Maintaining correctness in addition to efficiency is a challenge that software engineers in the field have to face. In this…

Software Engineering · Computer Science 2018-02-15 Bernhard Beckert , Britta Nestler , Moritz Kiefer , Michael Selzer , Mattias Ulbrich

We propose a security verification framework for cryptographic protocols using machine learning. In recent years, as cryptographic protocols have become more complex, research on automatic verification techniques has been focused on. The…

Cryptography and Security · Computer Science 2023-04-27 Kentaro Ohno , Misato Nakabayashi

Automated unit test generators, particularly search-based software testing tools like EvoSuite, are capable of generating tests with high coverage. Although these generators alleviate the burden of writing unit tests, they often pose…

Software Engineering · Computer Science 2024-08-22 Amirhossein Deljouyi , Roham Koohestani , Maliheh Izadi , Andy Zaidman