English
Related papers

Related papers: Securing Verified IO Programs Against Unverified C…

200 papers

Lighthouse projects such as CompCert, seL4, IronFleet, and DeepSpec have demonstrated that full verification of entire systems is feasible by establishing a refinement relation between an abstract system specification and an executable…

Logic in Computer Science · Computer Science 2020-10-13 Christoph Sprenger , Tobias Klenze , Marco Eilers , Felix A. Wolf , Peter Müller , Martin Clochard , David Basin

We present DIO, a generic tool for observing inefficient and erroneous I/O interactions between applications and in-kernel storage systems that lead to performance, dependability, and correctness issues. DIO facilitates the analysis and…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-04-19 Tânia Esteves , Ricardo Macedo , Rui Oliveira , João Paulo

Non-interference is a program property that ensures the absence of information leaks. In the context of programming languages, there exist two common approaches for establishing non-interference: type systems and program logics. Type…

Logic in Computer Science · Computer Science 2020-03-09 Dan Frumin , Robbert Krebbers , Lars Birkedal

The Verified Software Toolchain (VST) is a system for proving correctness of C programs using separation logic. By connecting to the verified compiler CompCert, it produces the strongest possible guarantees of correctness for real C code…

Programming Languages · Computer Science 2022-07-18 William Mansky

CairoZero is a programming language for running decentralized applications (dApps) at scale. Programs written in the CairoZero language are compiled to machine code for the Cairo CPU architecture and cryptographic protocols are used to…

Cryptography and Security · Computer Science 2025-01-28 Jeremy Avigad , Lior Goldberg , David Levit , Yoav Seginer , Alon Titelman

The constant-time discipline is a software-based countermeasure used for protecting high assurance cryptographic implementations against timing side-channel attacks. Constant-time is effective (it protects against many known attacks),…

Cryptography and Security · Computer Science 2020-05-12 Sunjay Cauligi , Craig Disselkoen , Klaus v. Gleissenthall , Dean Tullsen , Deian Stefan , Tamara Rezk , Gilles Barthe

Making threaded programs safe and easy to reason about is one of the chief difficulties in modern programming. This work provides an efficient execution model for SCOOP, a concurrency approach that provides not only data race freedom but…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-07-28 Scott West , Sebastian Nanz , Bertrand Meyer

Memory corruption errors in C/C++ programs remain the most common source of security vulnerabilities in today's systems. Control-flow hijacking attacks exploit memory corruption vulnerabilities to divert program execution away from the…

Cryptography and Security · Computer Science 2019-11-26 Nathan Burow , Scott A. Carr , Joseph Nash , Per Larsen , Michael Franz , Stefan Brunthaler , Mathias Payer

Higher-order constructs enable more expressive and concise code by allowing procedures to be parameterized by other procedures. Assertions allow expressing partial program specifications, which can be verified either at compile time…

Programming Languages · Computer Science 2025-09-11 Marco Ciccalè , Daniel Jurjo-Rivas , Jose F. Morales , Pedro López-García , Manuel V. Hermenegildo

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

Answer Set Programming (ASP) is a well-known declarative formalism in logic programming. Efficient implementations made it possible to apply ASP in many scenarios, ranging from deductive databases applications to the solution of hard…

Logic in Computer Science · Computer Science 2020-02-19 Bernardo Cuteri , Carmine Dodaro , Francesco Ricca , Peter Schüller

Formal verification provides strong guarantees of correctness of software, which are especially important in safety or security critical systems. Hoare logic is a widely used formalism for rigorous verification of software against…

Programming Languages · Computer Science 2021-03-11 Jayaraj Poroor

Formal verification provides strong safety guarantees but only for models of cyber-physical systems. Hybrid system models describe the required interplay of computation and physical dynamics, which is crucial to guarantee what computations…

Logic in Computer Science · Computer Science 2019-02-26 Stefan Mitsch , André Platzer

The Internet, as it stands today, is highly vulnerable to attacks. However, little has been done to understand and verify the formal security guarantees of proposed secure inter-domain routing protocols, such as Secure BGP (S-BGP). In this…

Logic in Computer Science · Computer Science 2017-01-11 Chen Chen , Limin Jia , Hao Xu , Cheng Luo , Wenchao Zhou , Boon Thau Loo

High assurance of information-flow security (IFS) for concurrent systems is challenging. A promising way for formal verification of concurrent systems is the rely-guarantee method. However, existing compositional reasoning approaches for…

Software Engineering · Computer Science 2023-09-19 Yongwang Zhao , David Sanan , Fuyuan Zhang , Yang Liu

This paper presents a formal approach to specify and verify object-oriented programs written in the `programming to interfaces' paradigm. Besides the methods to be invoked by its clients, an interface also declares a set of abstract…

Logic in Computer Science · Computer Science 2013-12-02 Jianhua Zhao , Xuandong LI

The importance of preventing microarchitectural timing side channels in security-critical applications has surged in recent years. Constant-time programming has emerged as a best-practice technique for preventing the leakage of secret…

Cryptography and Security · Computer Science 2024-03-12 Lucas Deutschmann , Johannes Mueller , Mohammad Rahmani Fadiheh , Dominik Stoffel , Wolfgang Kunz

Dependently typed programming languages such as Coq, Agda, Idris, and F*, allow programmers to write detailed specifications of their programs and prove their programs meet these specifications. However, these specifications can be violated…

Programming Languages · Computer Science 2025-09-12 Paulette Koronkevich , William J. Bowman

Continuous Integration (CI) testing is a popular software development technique that allows developers to easily check that their code can build successfully and pass tests across various system environments. In order to use a CI platform,…

Software Engineering · Computer Science 2018-05-14 Mark Santolucito , Jialu Zhang , Ennan Zhai , Ruzica Piskac

Closed-loop verification of cyber-physical systems with neural network controllers offers strong safety guarantees under certain assumptions. It is, however, difficult to determine whether these guarantees apply at run time because…

Logic in Computer Science · Computer Science 2022-05-09 Ivan Ruchkin , Matthew Cleaveland , Radoslav Ivanov , Pengyuan Lu , Taylor Carpenter , Oleg Sokolsky , Insup Lee
‹ Prev 1 3 4 5 6 7 10 Next ›