23,187 research outputs found

    On Verifying Complex Properties using Symbolic Shape Analysis

    Get PDF
    One of the main challenges in the verification of software systems is the analysis of unbounded data structures with dynamic memory allocation, such as linked data structures and arrays. We describe Bohne, a new analysis for verifying data structures. Bohne verifies data structure operations and shows that 1) the operations preserve data structure invariants and 2) the operations satisfy their specifications expressed in terms of changes to the set of objects stored in the data structure. During the analysis, Bohne infers loop invariants in the form of disjunctions of universally quantified Boolean combinations of formulas. To synthesize loop invariants of this form, Bohne uses a combination of decision procedures for Monadic Second-Order Logic over trees, SMT-LIB decision procedures (currently CVC Lite), and an automated reasoner within the Isabelle interactive theorem prover. This architecture shows that synthesized loop invariants can serve as a useful communication mechanism between different decision procedures. Using Bohne, we have verified operations on data structures such as linked lists with iterators and back pointers, trees with and without parent pointers, two-level skip lists, array data structures, and sorted lists. We have deployed Bohne in the Hob and Jahob data structure analysis systems, enabling us to combine Bohne with analyses of data structure clients and apply it in the context of larger programs. This report describes the Bohne algorithm as well as techniques that Bohne uses to reduce the ammount of annotations and the running time of the analysis

    FlexAuc: Serving Dynamic Demands in a Spectrum Trading Market with Flexible Auction

    Full text link
    In secondary spectrum trading markets, auctions are widely used by spectrum holders (SHs) to redistribute their unused channels to secondary wireless service providers (WSPs). As sellers, the SHs design proper auction schemes to stimulate more participants and maximize the revenue from the auction. As buyers, the WSPs determine the bidding strategies in the auction to better serve their end users. In this paper, we consider a three-layered spectrum trading market consisting of the SH, the WSPs and the end users. We jointly study the strategies of the three parties. The SH determines the auction scheme and spectrum supplies to optimize its revenue. The WSPs have flexible bidding strategies in terms of both demands and valuations considering the strategies of the end users. We design FlexAuc, a novel auction mechanism for this market to enable dynamic supplies and demands in the auction. We prove theoretically that FlexAuc not only maximizes the social welfare but also preserves other nice properties such as truthfulness and computational tractability.Comment: 11 pages, 7 figures, Preliminary version accepted in INFOCOM 201

    Managing Well Integrity using Reliability Based Models

    Get PDF
    Imperial Users onl

    Spatial Interpolants

    Full text link
    We propose Splinter, a new technique for proving properties of heap-manipulating programs that marries (1) a new separation logic-based analysis for heap reasoning with (2) an interpolation-based technique for refining heap-shape invariants with data invariants. Splinter is property directed, precise, and produces counterexample traces when a property does not hold. Using the novel notion of spatial interpolants modulo theories, Splinter can infer complex invariants over general recursive predicates, e.g., of the form all elements in a linked list are even or a binary tree is sorted. Furthermore, we treat interpolation as a black box, which gives us the freedom to encode data manipulation in any suitable theory for a given program (e.g., bit vectors, arrays, or linear arithmetic), so that our technique immediately benefits from any future advances in SMT solving and interpolation.Comment: Short version published in ESOP 201
    • …
    corecore