13,818 research outputs found
Checking Interval Properties of Computations
Model checking is a powerful method widely explored in formal verification.
Given a model of a system, e.g., a Kripke structure, and a formula specifying
its expected behaviour, one can verify whether the system meets the behaviour
by checking the formula against the model.
Classically, system behaviour is expressed by a formula of a temporal logic,
such as LTL and the like. These logics are "point-wise" interpreted, as they
describe how the system evolves state-by-state. However, there are relevant
properties, such as those constraining the temporal relations between pairs of
temporally extended events or involving temporal aggregations, which are
inherently "interval-based", and thus asking for an interval temporal logic.
In this paper, we give a formalization of the model checking problem in an
interval logic setting. First, we provide an interpretation of formulas of
Halpern and Shoham's interval temporal logic HS over finite Kripke structures,
which allows one to check interval properties of computations. Then, we prove
that the model checking problem for HS against finite Kripke structures is
decidable by a suitable small model theorem, and we provide a lower bound to
its computational complexity.Comment: In Journal: Acta Informatica, Springer Berlin Heidelber, 201
Structured specifications for better verification of heap-manipulating programs
Abstract. Conventional specifications typically have a flat structure that is based primarily on the underlying logic. Such specifications lack structures that could have provided better guidance to the verification process. In this work, we propose to add three new structures to a specification framework for separation logic to achieve a more precise and better guided verification for pointer-based programs. The newly introduced structures empower users with more control over the verification process in the following ways: (i) case analysis can be invoked to take advantage of disjointness conditions in the logic. (ii) early, as opposed to late, instantiation can minimise on the use of existential quantification. (iii) formulae that are staged provide better reuse of the verification process. Initial experiments have shown that structured specifications can lead to more precise verification without incurring any performance overhead.
Structural Separation Logic
This thesis presents structural separation logic, a novel program reasoning approach for software that manipulates both standard heaps and structured data such as lists and trees. Structural separation logic builds upon existing work in both separation logic and context logic. It considers data abstractly, much as it is exposed by library interfaces, ignoring implementation details.
We provide a programming language that works over structural heaps, which are similar to standard heaps but allow data to be stored in an abstract form. We introduce abstract heaps, which extend structural heaps to enable local reasoning about abstract data. Such data can be split up with structural addresses. Structural addresses allow sub-data (e.g. a sub-tree within a tree) to be abstractly allocated, promoting the sub-data to an abstract heap cell. This cell can be analysed in isolation, then re-joined with the original data. We show how the tight footprints this allows can be refined further with promises, which enable abstract heap cells to retain information about the context from which they were allocated. We prove that our approach is sound with respect to a standard Hoare logic.
We study two large examples. Firstly, we present an axiomatic semantics for the Docu- ment Object Model in structural separation logic. We demonstrate how structural separa- tion logic allows abstract reasoning about the DOM tree using tighter footprints than were possible in previous work. Secondly, we give a novel presentation of the POSIX file system library. We identify a subset of the large POSIX standard that focuses on the file system, including commands that manipulate both the file heap and the directory structure. Axioms for this system are given using structural separation logic. As file system resources are typically identified by paths, we use promises to give tight footprints to commands, so that that they do not require all the resource needed to explain paths being used. We demonstrate our reasoning using a software installer example.Open Acces
COSMICAH 2005: workshop on verification of COncurrent Systems with dynaMIC Allocated Heaps (a Satellite event of ICALP 2005) - Informal Proceedings
Lisboa Portugal, 10 July 200
Adaptive heterogeneous parallelism for semi-empirical lattice dynamics in computational materials science.
With the variability in performance of the multitude of parallel environments available today, the conceptual overhead created by the need to anticipate runtime information to make design-time decisions has become overwhelming. Performance-critical applications and libraries carry implicit assumptions based on incidental metrics that are not portable to emerging computational platforms or even alternative contemporary architectures. Furthermore, the significance of runtime concerns such as makespan, energy efficiency and fault tolerance depends on the situational context. This thesis presents a case study in the application of both Mattsons prescriptive pattern-oriented approach and the more principled structured parallelism formalism to the computational simulation of inelastic neutron scattering spectra on hybrid CPU/GPU platforms. The original ad hoc implementation as well as new patternbased and structured implementations are evaluated for relative performance and scalability. Two new structural abstractions are introduced to facilitate adaptation by lazy optimisation and runtime feedback. A deferred-choice abstraction represents a unified space of alternative structural program variants, allowing static adaptation through model-specific exhaustive calibration with regards to the extrafunctional concerns of runtime, average instantaneous power and total energy usage. Instrumented queues serve as mechanism for structural composition and provide a representation of extrafunctional state that allows realisation of a market-based decentralised coordination heuristic for competitive resource allocation and the Lyapunov drift algorithm for cooperative scheduling
Evolutionary improvement of programs
Most applications of genetic programming (GP) involve the creation of an entirely new function, program or expression to solve a specific problem. In this paper, we propose a new approach that applies GP to improve existing software by optimizing its non-functional properties such as execution time, memory usage, or power consumption. In general, satisfying non-functional requirements is a difficult task and often achieved in part by optimizing compilers. However, modern compilers are in general not always able to produce semantically equivalent alternatives that optimize non-functional properties, even if such alternatives are known to exist: this is usually due to the limited local nature of such optimizations. In this paper, we discuss how best to combine and extend the existing evolutionary methods of GP, multiobjective optimization, and coevolution in order to improve existing software. Given as input the implementation of a function, we attempt to evolve a semantically equivalent version, in this case optimized to reduce execution time subject to a given probability distribution of inputs. We demonstrate that our framework is able to produce non-obvious optimizations that compilers are not yet able to generate on eight example functions. We employ a coevolved population of test cases to encourage the preservation of the function's semantics. We exploit the original program both through seeding of the population in order to focus the search, and as an oracle for testing purposes. As well as discussing the issues that arise when attempting to improve software, we employ rigorous experimental method to provide interesting and practical insights to suggest how to address these issues
Recommended from our members
Non-linear finite element analysis of flexible pipes for deep-water applications
This thesis was submitted for the degree of Doctor of Philosophy and awarded by Brunel University LondonFlexible pipes are essential components in the subsea oil and gas industry, where they are used to convey
fluids under conditions of extreme external pressure and (often) axial load, while retaining low bending stiffness. This is made possible by their complex internal structure, consisting of unbonded components that are, to a certain extent, free to move internally relative to each other. Due to the product's high value and high cost of testing facilities, much e ort has been invested in the development of analytical and numerical models for simulating flexible pipe behaviour, which includes bulk response to various loading actions, calculation of
component stresses and use of this data for component fatigue calculations. In this work, it is proposed that the multi-scale methods currently in widespread use for the modelling of composite materials can be applied to the modelling of flexible pipe. This allows the large-scale dynamics of an installed pipe (often several
kilometers in length) to be related to the behaviour of its internal components (with characteristic lengths in millimeters). To do this, a formal framework is developed for an extension of the computational homogenisation procedure that allows multiscale models to be constructed in which models at both the large and small scales are composed of different structural elements. Within this framework, a large-scale
flexible pipe model is created, using a two-dimensional corotational beam formulation with a constitutive model representative of flexible pipe bulk behaviour, which was obtained by further development of a recently proposed formulation inspired by the analogy between the flexible pipe structural behaviour and that of plastic materials with non-associative flow rules. A three-dimensional corotational formulation is also developed. The model is shown to perform adequately for practical analyses. Next, a detailed finite element (FE) model of a
flexible pipe was created, using shell finite elements, generalised periodic boundary conditions and an implicit solution method. This model is tested against two analytical flexible pipe models for several basic load cases.
Finally, the two models are used to carry out a sequential multi-scale analysis, in which a set of simulations using the detailed FE model is carried out in order to find the most appropriate coefficients for the large-scale model.EPSRC CASE studentship, with Lloyd's Register EME
- …