178,286 research outputs found
Towards Concurrent Quantitative Separation Logic
In this paper, we develop a novel verification technique to reason about programs featuring concurrency, pointers and randomization. While the integration of concurrency and pointers is well studied, little is known about the combination of all three paradigms. To close this gap, we combine two kinds of separation logic - Quantitative Separation Logic and Concurrent Separation Logic - into a new separation logic that enables reasoning about lower bounds of the probability to realise a postcondition by executing such a program
Bayesian Logic Programs
Bayesian networks provide an elegant formalism for representing and reasoning
about uncertainty using probability theory. Theyare a probabilistic extension
of propositional logic and, hence, inherit some of the limitations of
propositional logic, such as the difficulties to represent objects and
relations. We introduce a generalization of Bayesian networks, called Bayesian
logic programs, to overcome these limitations. In order to represent objects
and relations it combines Bayesian networks with definite clause logic by
establishing a one-to-one mapping between ground atoms and random variables. We
show that Bayesian logic programs combine the advantages of both definite
clause logic and Bayesian networks. This includes the separation of
quantitative and qualitative aspects of the model. Furthermore, Bayesian logic
programs generalize both Bayesian networks as well as logic programs. So, many
ideas developedComment: 52 page
Quantitative Separation Logic - A Logic for Reasoning about Probabilistic Programs
We present quantitative separation logic (). In contrast to
classical separation logic, employs quantities which evaluate to
real numbers instead of predicates which evaluate to Boolean values. The
connectives of classical separation logic, separating conjunction and
separating implication, are lifted from predicates to quantities. This
extension is conservative: Both connectives are backward compatible to their
classical analogs and obey the same laws, e.g. modus ponens, adjointness, etc.
Furthermore, we develop a weakest precondition calculus for quantitative
reasoning about probabilistic pointer programs in . This calculus
is a conservative extension of both Reynolds' separation logic for
heap-manipulating programs and Kozen's / McIver and Morgan's weakest
preexpectations for probabilistic programs. Soundness is proven with respect to
an operational semantics based on Markov decision processes. Our calculus
preserves O'Hearn's frame rule, which enables local reasoning. We demonstrate
that our calculus enables reasoning about quantities such as the probability of
terminating with an empty heap, the probability of reaching a certain array
permutation, or the expected length of a list
Mechanistic modelling of a recombinase-based two-input temporal logic gate
Site-specific recombinases (SSRs) mediate efficient manipulation of DNA sequences in vitro and in vivo. In particular, serine integrases have been identified as highly effective tools for facilitating DNA inversion, enabling the design of genetic switches that are capable of turning the expression of a gene of interest on or off in the presence of a SSR protein. The functional scope of such circuitry can be extended to biological Boolean logic operations by incorporating two or more distinct integrase inputs. To date, mathematical modelling investigations have captured the dynamical properties of integrase logic gate systems in a purely qualitative manner, and thus such models are of limited utility as tools in the design of novel circuitry. Here, the authors develop a detailed mechanistic model of a two-input temporal logic gate circuit that can detect and encode sequences of input events. Their model demonstrates quantitative agreement with time-course data on the dynamics of the temporal logic gate, and is shown to subsequently predict dynamical responses relating to a series of induction separation intervals. The model can also be used to infer functional variations between distinct integrase inputs, and to examine the effect of reversing the roles of each integrase on logic gate output
Automated verification of shape, size and bag properties.
In recent years, separation logic has emerged as a contender for formal reasoning of heap-manipulating imperative programs. Recent works have focused on specialised provers that are mostly based on fixed sets of predicates. To improve expressivity, we have proposed a prover that can automatically handle user-defined predicates. These shape predicates allow programmers to describe a wide range of data structures with their associated size properties. In the current work, we shall enhance this prover by providing support for a new type of constraints, namely bag (multi-set) constraints. With this extension, we can capture the reachable nodes (or values) inside a heap predicate as a bag constraint. Consequently, we are able to prove properties about the actual values stored inside a data structure
The Meaning of Memory Safety
We give a rigorous characterization of what it means for a programming
language to be memory safe, capturing the intuition that memory safety supports
local reasoning about state. We formalize this principle in two ways. First, we
show how a small memory-safe language validates a noninterference property: a
program can neither affect nor be affected by unreachable parts of the state.
Second, we extend separation logic, a proof system for heap-manipulating
programs, with a memory-safe variant of its frame rule. The new rule is
stronger because it applies even when parts of the program are buggy or
malicious, but also weaker because it demands a stricter form of separation
between parts of the program state. We also consider a number of pragmatically
motivated variations on memory safety and the reasoning principles they
support. As an application of our characterization, we evaluate the security of
a previously proposed dynamic monitor for memory safety of heap-allocated data.Comment: POST'18 final versio
Low Power Superconducting Microwave Applications and Microwave Microscopy
We briefly review some non-accelerator high-frequency applications of
superconductors. These include the use of high-Tc superconductors in front-end
band-pass filters in cellular telephone base stations, the High Temperature
Superconductor Space Experiment, and high-speed digital electronics. We also
present an overview of our work on a novel form of near-field scanning
microscopy at microwave frequencies. This form of microscopy can be used to
investigate the microwave properties of metals and dielectrics on length scales
as small as 1 mm. With this microscope we have demonstrated quantitative
imaging of sheet resistance and topography at microwave frequencies. An
examination of the local microwave response of the surface of a heat-treated
bulk Nb sample is also presented.Comment: 11 pages, including 6 figures. Presented at the Eight Workshop on RF
Superconductivity. To appear in Particle Accelerator
Hoare-style Specifications as Correctness Conditions for Non-linearizable Concurrent Objects
Designing scalable concurrent objects, which can be efficiently used on
multicore processors, often requires one to abandon standard specification
techniques, such as linearizability, in favor of more relaxed consistency
requirements. However, the variety of alternative correctness conditions makes
it difficult to choose which one to employ in a particular case, and to compose
them when using objects whose behaviors are specified via different criteria.
The lack of syntactic verification methods for most of these criteria poses
challenges in their systematic adoption and application.
In this paper, we argue for using Hoare-style program logics as an
alternative and uniform approach for specification and compositional formal
verification of safety properties for concurrent objects and their client
programs. Through a series of case studies, we demonstrate how an existing
program logic for concurrency can be employed off-the-shelf to capture
important state and history invariants, allowing one to explicitly quantify
over interference of environment threads and provide intuitive and expressive
Hoare-style specifications for several non-linearizable concurrent objects that
were previously specified only via dedicated correctness criteria. We
illustrate the adequacy of our specifications by verifying a number of
concurrent client scenarios, that make use of the previously specified
concurrent objects, capturing the essence of such correctness conditions as
concurrency-aware linearizability, quiescent, and quantitative quiescent
consistency. All examples described in this paper are verified mechanically in
Coq.Comment: 18 page
- …