153,691 research outputs found
Integrated Reasoning and Proof Choice Point Selection in the Jahob System – Mechanisms for Program Survival
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
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
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)
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
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
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
- …