English
Related papers

Related papers: Finding $\forall\exists$ Hyperbugs using Symbolic …

200 papers

Hyperproperties are properties that relate multiple execution traces. Previous work on monitoring hyperproperties focused on synchronous hyperproperties, usually specified in HyperLTL. When monitoring synchronous hyperproperties, all traces…

Programming Languages · Computer Science 2023-08-08 Marek Chalupa , Thomas A. Henzinger

We present RVHyper, a runtime verification tool for hyperproperties. Hyperproperties, such as non-interference and observational determinism, relate multiple computation traces with each other. Specifications are given as formulas in the…

Logic in Computer Science · Computer Science 2019-06-04 Bernd Finkbeiner , Christopher Hahn , Marvin Stenger , Leander Tentrup

Hyperproperties lift conventional trace properties from a set of execution traces to a set of sets of execution traces. Hyperproperties have been shown to be a powerful formalism for expressing and reasoning about information-flow security…

Formal Languages and Automata Theory · Computer Science 2020-02-25 Borzoo Bonakdarpour , Sarai Sheinvald

HyperLTL is a temporal logic that can express hyperproperties, i.e., properties that relate multiple execution traces of a system. Such properties are becoming increasingly important and naturally occur, e.g., in information-flow control,…

Logic in Computer Science · Computer Science 2023-01-27 Raven Beutner , Bernd Finkbeiner

Static analysis is the analysis of a program without executing it, usually carried out by an automated tool. Symbolic execution is a popular static analysis technique used both in program verification and in bug detection software. It works…

Software Engineering · Computer Science 2024-08-06 Gabor Horvath , Reka Kovacs , Zoltan Porkolab

Hyperproperties are system properties that require quantification over multiple execution traces of a system. Hyperproperties can express several specifications of interest for cyber-physical systems--such as opacity, robustness, and…

Systems and Control · Electrical Eng. & Systems 2021-11-24 Mahathi Anand , Vishnu Murali , Ashutosh Trivedi , Majid Zamani

Hyperproperties are properties of systems that relate multiple computation traces, including security and concurrency properties. This paper introduces a bounded model checking (BMC) algorithm for hyperproperties expressed in HyperLTL,…

Formal Languages and Automata Theory · Computer Science 2020-10-19 Tzu-Han Hsu , Cesar Sanchez , Borzoo Bonakdarpour

Symbolic execution is a powerful technique for bug finding and program testing. It is successful in finding bugs in real-world code. The core reasoning techniques use constraint solving, path exploration, and search, which are also the same…

Software Engineering · Computer Science 2020-07-20 Sahil Verma , Roland H. C. Yap

Formal languages are in the core of models of computation and their behavior. A rich family of models for many classes of languages have been widely studied. Hyperproperties lift conventional trace-based languages from a set of execution…

Formal Languages and Automata Theory · Computer Science 2022-01-06 Borzoo Bonakdarpour , Sarai Sheinvald

In various applications the search for certificates for certain properties (e.g., stability of dynamical systems, program termination) can be formulated as a quantified constraint solving problem with quantifier prefix exists-forall. In…

Logic in Computer Science · Computer Science 2014-06-26 Milan Hladík , Stefan Ratschan

Verifying hyperproperties at runtime is a challenging problem as hyperproperties, such as non-interference and observational determinism, relate multiple computation traces with each other. It is necessary to store previously seen traces,…

Logic in Computer Science · Computer Science 2019-06-03 Christopher Hahn , Marvin Stenger , Leander Tentrup

Relational verification encompasses research directions such as reasoning about data abstraction, reasoning about security and privacy, secure compilation, and functional specificaton of tensor programs, among others. Several relational…

Logic in Computer Science · Computer Science 2025-09-08 Ramana Nagasamudram , Anindya Banerjee , David A. Naumann

Memory corruption is a serious class of software vulnerabilities, which requires careful attention to be detected and removed from applications before getting exploited and harming the system users. Symbolic execution is a well-known method…

Cryptography and Security · Computer Science 2025-09-16 Sara Baradaran , Mahdi Heidari , Ali Kamali , Maryam Mouzarani

We introduce an algorithm for detection of bugs in sequential circuits. This algorithm is incomplete i.e. its failure to find a bug breaking a property P does not imply that P holds. The appeal of incomplete algorithms is that they scale…

Logic in Computer Science · Computer Science 2013-09-26 Eugene Goldberg , Mitesh Jain , Panagiotis Manolios

Many important cryptographic primitives offer probabilistic guarantees of security that can be specified as quantitative hyperproperties; these are specifications that stipulate the existence of a certain number of traces in the system…

Cryptography and Security · Computer Science 2020-05-18 Shubham Sahai , Rohit Sinha , Pramod Subramanyan

We present an algorithm for tests generation tools based on symbolic execution. The algorithm is supposed to help in situations, when a tool is repeatedly failing to cover some code by tests. The algorithm then provides the tool a necessary…

Symbolic Computation · Computer Science 2011-12-21 Marek Trtík

System requirements related to concepts like information flow, knowledge, and robustness cannot be judged in terms of individual system executions, but rather require an analysis of the relationship between multiple executions. Such…

Logic in Computer Science · Computer Science 2025-01-15 Bernd Finkbeiner

Symbolic execution is a successful and very popular technique used in software verification and testing. A key limitation of symbolic execution is in dealing with code containing loops. The problem is that even a single loop can generate a…

Programming Languages · Computer Science 2011-07-08 Jan Obdrzalek , Marek Trtik

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 2021-10-27 Aurel Bílý , Christoph Matheja , Peter Müller

A hyperproperty relates executions of a program and is used to formalize security objectives such as confidentiality, non-interference, privacy, and anonymity. Formally, a hyperproperty is a collection of allowable sets of executions. A…

Logic in Computer Science · Computer Science 2023-01-30 Ali Bajwa , Minjian Zhang , Rohit Chadha , Mahesh Viswanathan