English
Related papers

Related papers: System M: A Program Logic for Code Sandboxing and …

200 papers

Software transactional memory implementations which allow transactions to work on inconsistent states of shared data, risk to cause application visible errors such as memory access violations or endless loops. Hence, many implementations…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-09-23 Holger Machens

Understanding a program's runtime reasoning behavior, meaning how intermediate states and control flows lead to final execution results, is essential for reliable code generation, debugging, and automated reasoning. Although large language…

Software Engineering · Computer Science 2025-12-02 Mohammad Abdollahi , Khandaker Rifah Tasnia , Soumit Kanti Saha , Jinqiu Yang , Song Wang , Hadi Hemmati

Classification of personal text messages has many useful applications in surveillance, e-commerce, and mental health care, to name a few. Giving applications access to personal texts can easily lead to (un)intentional privacy violations. We…

Cryptography and Security · Computer Science 2021-03-15 Devin Reich , Ariel Todoki , Rafael Dowsley , Martine De Cock , Anderson C. A. Nascimento

Reachability types are a recent proposal to bring Rust-style reasoning about memory properties to higher-level languages, with a focus on higher-order functions, parametric types, and shared mutable state -- features that are only partially…

Programming Languages · Computer Science 2025-10-10 Yuyan Bao , Songlin Jia , Guannan Wei , Oliver Bračevac , Tiark Rompf

We previously developed a polymorphic type system and a type checker for a multithreaded lock-based polymorphic typed assembly language (MIL) that ensures that well-typed programs do not encounter race conditions. This paper extends such…

Programming Languages · Computer Science 2010-02-05 Vasco T. Vasconcelos , Francisco Martins , Tiago Cogumbreiro

Security protocols are essential building blocks of modern IT systems. Subtle flaws in their design or implementation may compromise the security of entire systems. It is, thus, important to prove the absence of such flaws through formal…

Cryptography and Security · Computer Science 2023-09-12 Linard Arquint , Malte Schwerhoff , Vaibhav Mehta , Peter Müller

Memory safety is an essential correctness property of software systems. For programs operating on linked heap-allocated data structures, the problem of proving memory safety boils down to analyzing the possible shapes of data structures,…

Programming Languages · Computer Science 2024-08-20 Sebastian Wolff , Ekanshdeep Gupta , Zafer Esen , Hossein Hojjat , Philipp Rümmer , Thomas Wies

Relational program verification is a variant of program verification where one can reason about two programs and as a special case about two executions of a single program on different inputs. Relational program verification can be used for…

Programming Languages · Computer Science 2019-10-23 Alejandro Aguirre , Gilles Barthe , Marco Gaboardi , Deepak Garg , Pierre-Yves Strub

We present a logical framework for the verification of relational properties in imperative programs. Our work is motivated by relational properties which come from security applications and often require reasoning about formulas with…

Logic in Computer Science · Computer Science 2019-08-13 Gilles Barthe , Renate Eilers , Pamina Georgiou , Bernhard Gleiss , Laura Kovacs , Matteo Maffei

Dedicated to Tony Hoare. In a paper published in 1972 Hoare articulated the fundamental notions of hiding invariants and simulations. Hiding: invariants on encapsulated data representations need not be mentioned in specifications that…

Logic in Computer Science · Computer Science 2022-07-21 Anindya Banerjee , Ramana Nagasamudram , David A. Naumann , Mohammad Nikouei

We describe verification techniques for embedded memory systems using efficient memory modeling (EMM), without explicitly modeling each memory bit. We extend our previously proposed approach of EMM in Bounded Model Checking (BMC) for a…

Logic in Computer Science · Computer Science 2011-11-09 Malay K. Ganai , Aarti Gupta , Pranav Ashar

Program reductions are used widely to simplify reasoning about the correctness of concurrent and distributed programs. In this paper, we propose a general approach to proof simplification of concurrent programs based on exploring generic…

Programming Languages · Computer Science 2019-11-01 Azadeh Farzan , Anthony Vandikas

Quantum programming languages enable developers to implement algorithms for quantum computers that promise computational breakthroughs in classically intractable tasks. Programming quantum computers requires awareness of entanglement, the…

Programming Languages · Computer Science 2022-05-06 Charles Yuan , Christopher McNally , Michael Carbin

Verifying a real-world program's functional correctness can be decomposed into (1) a refinement proof showing that the program implements a more abstract high-level program and (2) an algorithm correctness proof at the high level.…

Programming Languages · Computer Science 2025-08-22 Shushu Wu , Xiwei Wu , Qinxiang Cao

We introduce a novel type system for enforcing secure information flow in an imperative language. Our work is motivated by the problem of statically checking potential information leakage in Android applications. To this end, we design a…

Programming Languages · Computer Science 2017-09-28 Hongxu Chen , Alwen Tiu , Zhiwu Xu , Yang Liu

Hoare logic provides a syntax-oriented method to reason about program correctness and has been proven effective in the verification of classical and probabilistic programs. Existing proposals for quantum Hoare logic either lack completeness…

Logic in Computer Science · Computer Science 2022-06-29 Yuan Feng , Mingsheng Ying

Runtime efficiency and termination are crucial properties in the studies of program verification. Instead of dealing with these issues in an ad hoc manner, it would be useful to develop a robust framework in which such properties are…

Programming Languages · Computer Science 2026-04-06 Weijun Chen , Yuxi Fu , Huan Long

Searching for clues, gathering evidence, and reviewing case files are all techniques used by criminal investigators to draw sound conclusions and avoid wrongful convictions. Similarly, in software engineering (SE) research, we can develop…

Software Engineering · Computer Science 2023-09-19 Marvin Muñoz Barón , Marvin Wyrich , Daniel Graziotin , Stefan Wagner

Conformance checking, one of the main process mining operations, aims to identify discrepancies between a process model and an event log. The model represents the expected behaviour, whereas the event log represents the actual process…

Cryptography and Security · Computer Science 2026-05-04 Luis Rodríguez-Flores , Luciano García-Bañuelos , Abel Armas-Cervantes , Astrid Rivera-Partida

Memory trace analysis is an important technology for architecture research, system software (i.e., OS, compiler) optimization, and application performance improvements. Hardware-snooping is an effective and efficient approach to monitor and…

Hardware Architecture · Computer Science 2011-06-15 Yungang Bao , Jinyong Zhang , Yan Zhu , Dan Tang , Yuan Ruan , Mingyu Chen , Jianping Fan