English
Related papers

Related papers: The Ghosts of Empires: Extracting Modularity from …

200 papers

Static analyzers are typically complex tools and thus prone to contain bugs themselves. To increase the trust in the verdict of such tools, witnesses encode key reasoning steps underlying the verdict in an exchangeable format, enabling…

Refinement transforms an abstract system model into a concrete, executable program, such that properties established for the abstract model carry over to the concrete implementation. Refinement has been used successfully in the development…

Logic in Computer Science · Computer Science 2023-11-27 Aurel Bílý , João C. Pereira , Jan Schär , Peter Müller

The Rust programming language provides a powerful type system that checks linearity and borrowing, allowing code to safely manipulate memory without garbage collection and making Rust ideal for developing low-level, high-assurance systems.…

Logic in Computer Science · Computer Science 2023-03-14 Andrea Lattuada , Travis Hance , Chanhee Cho , Matthias Brun , Isitha Subasinghe , Yi Zhou , Jon Howell , Bryan Parno , Chris Hawblitzel

Previously, gradual verification has been developed using overapproximating logics such as Hoare logic. We show that the static verification component of gradual verification is also connected to underapproximating logics like incorrectness…

Logic in Computer Science · Computer Science 2024-12-03 Conrad Zimmerman , Jenna DiVincenzo

Formal verification can provably guarantee the correctness of critical system software, but the high proof burden has long hindered its wide adoption. Recently, Large Language Models (LLMs) have shown success in code analysis and synthesis.…

Formal Languages and Automata Theory · Computer Science 2023-11-27 Jianan Yao , Ziqiao Zhou , Weiteng Chen , Weidong Cui

In this dissertation we describe two contributions to the state of the art in reasoning about liveness and safety, respectively. Programs for multiprocessor machines commonly perform busy waiting for synchronization. We propose the first…

Logic in Computer Science · Computer Science 2024-03-15 Tobias Reinhard

Refinement types decorate types with assertions that enable automatic verification. Like assertions, refinements are limited to binders that are in scope, and hence, cannot express higher-order specifications. Ghost variables circumvent…

Programming Languages · Computer Science 2021-05-06 Anish Tondwalkar , Matthew Kolosick , Ranjit Jhala

Verified compilation of open modules (i.e., modules whose functionality depends on other modules) provides a foundation for end-to-end verification of modular programs ubiquitous in contemporary software. However, despite intensive…

Programming Languages · Computer Science 2023-11-21 Ling Zhang , Yuting Wang , Jinhua Wu , Jérémie Koenig , Zhong Shao

Symbolic model checkers can construct proofs of properties over very complex models. However, the results reported by the tool when a proof succeeds do not generally provide much insight to the user. It is often useful for users to have…

Software Engineering · Computer Science 2016-08-01 Elaheh Ghassabani , Andrew Gacek , Michael W. Whalen

Gradually-typed programming languages permit the incremental addition of static types to untyped programs. To remain sound, languages insert run-time checks at the boundaries between typed and untyped code. Unfortunately, performance…

Programming Languages · Computer Science 2020-10-13 Cameron Moy , Phúc C. Nguyen , Sam Tobin-Hochstadt , David Van Horn

The verification of multithreaded software is still a challenge. This comes mainly from the fact that the number of thread interleavings grows exponentially in the number of threads. The idea that thread interleavings can be studied with a…

Logic in Computer Science · Computer Science 2011-09-27 Robert Mittermayr , Johann Blieberger

Formal verification provides the highest assurance of software correctness and security, but its application to large-scale, evolving systems remains a major challenge. While large language models (LLMs) have shown promise in automating…

Software Engineering · Computer Science 2026-05-06 Yuwei Liu , Xinyi Wan , Yanhao Wang , Minghua Wang , Lin Huang , Tao Wei

Satisfiability Modulo Theory (SMT) solvers and equality saturation engines must generate proof certificates from e-graph-based congruence closure procedures to enable verification and conflict clause generation. Smaller proof certificates…

Programming Languages · Computer Science 2022-09-09 Oliver Flatt , Samuel Coward , Max Willsey , Zachary Tatlock , Pavel Panchekha

Polyhedra form an established abstract domain for inferring runtime properties of programs using abstract interpretation. Computations on them need to be certified for the whole static analysis results to be trusted. In this work, we look…

Programming Languages · Computer Science 2013-04-04 Alexis Fouilhé , David Monniaux , Michaël Périn

We propose a framework for synthesizing inductive invariants for incomplete verification engines, which soundly reduce logical problems in undecidable theories to decidable theories. Our framework is based on the counter-example guided…

Programming Languages · Computer Science 2018-01-15 Daniel Neider , Pranav Garg , P. Madhusudan , Shambwaditya Saha , Daejun Park

Ensuring correctness is crucial for code generation. Formal verification offers a definitive assurance of correctness, but demands substantial human effort in proof construction and hence raises a pressing need for automation. The primary…

Program safety (i.e., absence of undefined behaviors) is critical for correct operation of computer systems. It is usually verified at the source level (e.g., by separation logics) and preserved to the target by verified compilers (e.g.,…

Programming Languages · Computer Science 2025-10-14 Jinhua Wu , Yuting Wang , Liukun Yu , Linglong Meng

We propose trace abstraction modulo probability, a proof technique for verifying high-probability accuracy guarantees of probabilistic programs. Our proofs overapproximate the set of program traces using failure automata, finite-state…

Programming Languages · Computer Science 2018-10-31 Calvin Smith , Justin Hsu , Aws Albarghouthi

The use of large language models for code generation is a rapidly growing trend in software development. However, without effective methods for ensuring the correctness of generated code, this trend could lead to undesirable outcomes. In…

Artificial Intelligence · Computer Science 2024-11-19 Chuyue Sun , Ying Sheng , Oded Padon , Clark Barrett

The ability to compose code in a modular fashion is important to the construction of large programs. In the logic programming setting, it is desirable that such capabilities be realized through logic-based devices. We describe an approach…

Programming Languages · Computer Science 2023-03-21 Steven Holte , Gopalan Nadathur
‹ Prev 1 2 3 10 Next ›