49 research outputs found

    Algebraic Principles for Program Correctness Tools in Isabelle/HOL

    Get PDF
    This thesis puts forward a flexible and principled approach to the development of construction and verification tools for imperative programs, in which the control flow and the data level are cleanly separated. The approach is inspired by algebraic principles and benefits from an algebraic semantics layer. It is programmed in the Isabelle/HOL interactive theorem prover and yields simple lightweight mathematical components as well as program construction and verification tools that are themselves correct by construction. First, a simple tool is implemented using Kleeene algebra with tests (KAT) for the control flow of while-programs, which is the most compact verification formalism for imperative programs, and their standard relational semantics for the data level. A reference formalisation of KAT in Isabelle/HOL is then presented, providing three different formalisations of tests. The structured comprehensive libraries for these algebras include an algebraic account of Hoare logic for partial correctness. Verification condition generation and program construction rules are based on equational reasoning and supported by powerful Isabelle tactics and automated theorem proving. Second, the tool is expanded to support different programming features and verification methods. A basic program construction tool is developed by adding an operation for the specification statement and one single axiom. To include recursive procedures, KATs are expanded further to quantales with tests, where iteration and the specification statement can be defined explicitly. Additionally, a nondeterministic extension supports the verification of simple concurrent programs. Finally, the approach is also applied to separation logic, where the control-flow is modelled by power series with convolution as separating conjunction. A generic construction lifts resource monoids to assertion and predicate transformer quantales. The data level is captured by concrete store-heap models. These are linked to the algebra by soundness proofs. A number of examples shows the tools at work

    Fifty years of Hoare's Logic

    Get PDF
    We present a history of Hoare's logic.Comment: 79 pages. To appear in Formal Aspects of Computin

    Index Catalogue to Russian, Central and Eastern European, and Chinese Literature in Medical Entomology, volume 1: Diptera

    Get PDF
    Over the past several years a large number of references from the USSR, Eastern Europe, and China have been collected dealing with arthropods of medical importance. These references were coded on keysort cards which made it possible to index as many as fifteen subject areas on one card. The usefulness of this indexing system was evident by the number of medical entomologists who used it in searching for references in their specialty. In response to requests from workers in the United States and other countries who did not have ready access to the index. it was decided to publish these references. The publication was made possible by the generous support of the United States Army Medical Research and Development Command, Department of the Army. Owing to the large number of references presently on hand. the plan is to issue this catalogue in a series of publications of which this is the first. Succeeding issues will deal with references on ticks, fleas, mites. lice, and other groups. Upon completion of these groups, other issues will be published containing references on various arthropod-borne diseases arranged according to the causative agents. No claim is made for completeness in this volume or in the succeeding volumes, although an effort has been made to locate as many references as possible. Notice of errors or omissions will be received gratefully. This work has been prepared in the Department of Zoology with the cooperation and interest of the following individuals to whom special acknowledgment is due, Vivian N. Andrews Alice Mae Brown Alena Elbl Beatrice Y. Foote Margaret H. Mace Dorothy W. Segal John C. Sewell Robert Richard Thacker George Anastes Professor and Head Department of Zoology College of Arts and Sciences University of Marylan

    v. 46, no. 4, May 11, 1979

    Get PDF

    The Murray Ledger and Times, March 21, 2009

    Get PDF

    An algorithm for network community structure detection by Surprise

    Get PDF
    The success of network science to describe many complex systems and their ubiquitous presence has brought the development of new, more efficient, methods of analysis to the spotlight. However, some problems still remain open. One of which, the focus of our work, is the determination of a network’s community structure. Even though there’s no consensual formal definition, communities come from the intuitive idea that nodes form subgroups in the larger networks. In this regard, many different algorithms have been proposed in order to identify such groups. Here we tackle this problem in two different fronts: first, we developed a new algorithm based on the Surprise function and secondly, we created a novel benchmark, a set of artificial networks with a seeded community structure, to compare the performance of competing algorithms. Our own Surpriser algorithm was tested against seven other methods from the literature in three different benchmarks. We show that the Surprise based methods are the most consistent among different benchmarks, with Surpriser having an edge over the competition. Finally, we show that our benchmark is the hardest of the three as very few algorithms are able to solve it.O sucesso da teoria dos grafos para descrever sistemas complexos, bem como a onipresença destes, deu muito destaque a elaboração de métodos eficientes para sua analise. No entanto, varias questões continuam em aberto. Uma delas, a qual nos dedicamos neste trabalho, é a obtenção das comunidades presentes nessas redes. Muito embora não exista um consenso formal sobre sua definição, a presença de comunidades vem da ideia intuitiva de que nós formam subgrupos dentro da rede. Neste sentido, muitos algoritmos diferentes foram propostos para identificar tais grupos. Aqui nós atacamos este problema em duas frentes: primeiro, desenvolvemos um novo algoritmo baseado na função Surprise e segundo, criamos um novo benchmark, um conjunto de redes artificiais com comunidades préestabelecidas, para comparar a performance de diferentes algoritmos. O nosso algoritmo, chamado Surpriser, foi testado contra sete outros métodos da literatura em três benchmarks diferentes. Nós mostramos que métodos baseados na Surprise são os mais consistentes nos diferentes benchmarks e que o nosso Surpriser leva uma vantagem sobre os últimos. Finalmente, mostramos que o nosso benchmark é o mais difícil dos três, pois poucos algoritmos conseguem resolve-lo
    corecore