153,691 research outputs found

    Integrated Reasoning and Proof Choice Point Selection in the Jahob System – Mechanisms for Program Survival

    Get PDF
    In recent years researchers have developed a wide range of powerful automated reasoning systems. We have leveraged these systems to build Jahob, a program specification, analysis, and verification system. In contrast to many such systems, which use a monolithic reasoning approach, Jahob provides a general integrated reasoning framework, which enables multiple automated reasoning systems to work together to prove the desired program correctness properties. We have used Jahob to prove the full functional correctness of a collection of linked data structure implementations. The automated reasoning systems are able to automatically perform the vast majority of the reasoning steps required for this verification. But there are some complex verification conditions that they fail to prove. We have therefore developed a proof language, integrated into the underlying imperative Java programming language, that developers can use to control key choice points in the proof search space. Once the developer has resolved these choice points, the automated reasoning systems are able to complete the verification. This approach appropriately leverages both the developer’s insight into the high-level structure of the proof and the ability of the automated reasoning systems to perform the mechanical steps required to prove the verification conditions. Building on Jahob’s success with this challenging program verification problem, we contemplate the possibility of verifying the complete absence of fatal errors in large software systems. We envision combining simple techniques that analyze the vast majority of the program with heavyweight techniques that analyze those more sophisticated parts of the program that may require arbitrarily sophisticated reasoning. Modularity mechanisms such as abstract data types enable the sound division of the program for this purpose. The goal is not a completely correct program, but a program that can survive any remaining errors to continue to provide acceptable service

    Surface protection

    Get PDF
    The surface protection subproject consists of three major thrusts: airfoil deposition model; metallic coating life prediction; and thermal barrier coating (TBC) life prediction. The time frame for each of these thrusts and the expected outputs are presented. Further details are given for each thrust such as specific element schedules and the status of performance; in-house, via grant, or via contract

    Trusting Computations: a Mechanized Proof from Partial Differential Equations to Actual Program

    Get PDF
    Computer programs may go wrong due to exceptional behaviors, out-of-bound array accesses, or simply coding errors. Thus, they cannot be blindly trusted. Scientific computing programs make no exception in that respect, and even bring specific accuracy issues due to their massive use of floating-point computations. Yet, it is uncommon to guarantee their correctness. Indeed, we had to extend existing methods and tools for proving the correct behavior of programs to verify an existing numerical analysis program. This C program implements the second-order centered finite difference explicit scheme for solving the 1D wave equation. In fact, we have gone much further as we have mechanically verified the convergence of the numerical scheme in order to get a complete formal proof covering all aspects from partial differential equations to actual numerical results. To the best of our knowledge, this is the first time such a comprehensive proof is achieved.Comment: N° RR-8197 (2012). arXiv admin note: text overlap with arXiv:1112.179

    Shaded Tangles for the Design and Verification of Quantum Programs (Extended Abstract)

    Full text link
    We give a scheme for interpreting shaded tangles as quantum programs, with the property that isotopic tangles yield equivalent programs. We analyze many known quantum programs in this way -- including entanglement manipulation and error correction -- and in each case present a fully-topological formal verification, yielding in several cases substantial new insight into how the program works. We also use our methods to identify several new or generalized procedures.Comment: In Proceedings QPL 2017, arXiv:1802.0973

    Applying Formal Methods to Networking: Theory, Techniques and Applications

    Full text link
    Despite its great importance, modern network infrastructure is remarkable for the lack of rigor in its engineering. The Internet which began as a research experiment was never designed to handle the users and applications it hosts today. The lack of formalization of the Internet architecture meant limited abstractions and modularity, especially for the control and management planes, thus requiring for every new need a new protocol built from scratch. This led to an unwieldy ossified Internet architecture resistant to any attempts at formal verification, and an Internet culture where expediency and pragmatism are favored over formal correctness. Fortunately, recent work in the space of clean slate Internet design---especially, the software defined networking (SDN) paradigm---offers the Internet community another chance to develop the right kind of architecture and abstractions. This has also led to a great resurgence in interest of applying formal methods to specification, verification, and synthesis of networking protocols and applications. In this paper, we present a self-contained tutorial of the formidable amount of work that has been done in formal methods, and present a survey of its applications to networking.Comment: 30 pages, submitted to IEEE Communications Surveys and Tutorial

    Numerical Implementation of a Critical State Model for Soft Rocks

    Get PDF
    This paper details the basic tasks for the numerical implementation of a simple elasto-plastic critical state model for bonded materials (i.e. soft rocks-hard soils) into the finite element program SNAC developed at the University of Newcastle in Australia. The first task described focusses on the derivation of the incremental constitutive relationships used to represent the mechanical response of a bonded/cemented material under saturated conditions. The second task presents how these stress-strain relations can be numerically integrated using an explicit substepping scheme with automatic error control. The third task concentrates on the verification of the substepping algorithm proposed. The model used to represent the saturated mechanical response of a bonded material combines the modified Cam clay with the constitutive relationships for cemented materials proposed in Gens & Nova (1993), but incorporates some flexibility on the degradation law adopted. The role of suction and other relevant aspects of unsaturated behaviour are also discussed at the end of the paper
    corecore