334 research outputs found

    Computer-Assisted Program Reasoning Based on a Relational Semantics of Programs

    Full text link
    We present an approach to program reasoning which inserts between a program and its verification conditions an additional layer, the denotation of the program expressed in a declarative form. The program is first translated into its denotation from which subsequently the verification conditions are generated. However, even before (and independently of) any verification attempt, one may investigate the denotation itself to get insight into the "semantic essence" of the program, in particular to see whether the denotation indeed gives reason to believe that the program has the expected behavior. Errors in the program and in the meta-information may thus be detected and fixed prior to actually performing the formal verification. More concretely, following the relational approach to program semantics, we model the effect of a program as a binary relation on program states. A formal calculus is devised to derive from a program a logic formula that describes this relation and is subject for inspection and manipulation. We have implemented this idea in a comprehensive form in the RISC ProgramExplorer, a new program reasoning environment for educational purposes which encompasses the previously developed RISC ProofNavigator as an interactive proving assistant.Comment: In Proceedings THedu'11, arXiv:1202.453

    LR characterization of chirotopes of finite planar families of pairwise disjoint convex bodies

    Full text link
    We extend the classical LR characterization of chirotopes of finite planar families of points to chirotopes of finite planar families of pairwise disjoint convex bodies: a map \c{hi} on the set of 3-subsets of a finite set I is a chirotope of finite planar families of pairwise disjoint convex bodies if and only if for every 3-, 4-, and 5-subset J of I the restriction of \c{hi} to the set of 3-subsets of J is a chirotope of finite planar families of pairwise disjoint convex bodies. Our main tool is the polarity map, i.e., the map that assigns to a convex body the set of lines missing its interior, from which we derive the key notion of arrangements of double pseudolines, introduced for the first time in this paper.Comment: 100 pages, 73 figures; accepted manuscript versio

    Simple Monte Carlo and the Metropolis Algorithm

    Get PDF
    We study the integration of functions with respect to an unknown density. We compare the simple Monte Carlo method (which is almost optimal for a certain large class of inputs) and compare it with the Metropolis algorithm (based on a suitable ball walk). Using MCMC we prove (for certain classes of inputs) that adaptive methods are much better than nonadaptive ones. Actually, the curse of dimension (for nonadaptive methods) can be broken by adaption.Comment: Journal of Complexity, to appea

    From Event-B models to Dafny code contracts

    No full text
    International audienceThe constructive approach to software correctness aims at formal modelling and verification of the structure and behaviour of a system in different levels of abstraction. In contrast, the analytical approach to software verification focuses on code level correctness and its verification. Therefore it would seem that the constructive and analytical approaches should complement each other well. To demonstrate this idea we present a case for linking two existing verification methods, Event-B (constructive) and Dafny (analytical). This approach combines the power of Event-B abstraction and its stepwise refinement with the verification capabilities of Dafny. We presented a small case study to demonstrate this approach and outline of the rules for transforming Event-B events to Dafny contracts. Finally, a tool for automatic generation of Dafny contracts from Event-B formal models is presented

    Proceedings of the Resolve Workshop 2006

    Get PDF
    The aim of the RESOLVE Workshop 2006 was to bring together researchers and educators interested in: Refining formal approaches to software engineering, especially component-based systems, and introducing them into the classroom. The workshop served as a forum for participants to present and discuss recent advances, trends, and concerns in these areas, as well as formulate a common understanding of emerging research issues and possible solution paths
    corecore