1,176 research outputs found
Using Automated Reasoning Systems on Molecular Computing
This paper is focused on the interplay between automated
reasoning systems (as theoretical and formal devices to study the correctness
of a program) and DNA computing (as practical devices to
handle DNA strands to solve classical hard problems with laboratory
techniques). To illustrate this work we have proven in the PVS proof
checker, the correctness of a program, in a sticker based model for DNA
computation, solving the pairwise disjoint families problem. Also we introduce
the formalization of the Floyd–Hoare logic for imperative programs
The Verifying Compiler: A Grand Challenge for Computing Research
Abstract. This contribution proposes a set of criteria that distinguish a grand challenge in science or engineering from the many other kinds of short-term or long-term research problems that engage the interest of scientists and engineers. As an example drawn from Computer Science, it revives an old challenge: the construction and application of a verifying compiler that guarantees correctness of a program before running it. Introduction. The primary purpose of the formulation and promulgation of a grand challenge is the advancement of science or engineering. A grand challenge represents a commitment by a significant section of the research community to work together towards a common goal, agreed to be valuable and achievable by a team effort within a predicted timescale. The challenge is formulated by th
Formal Proof of SCHUR Conjugate Function
The main goal of our work is to formally prove the correctness of the key
commands of the SCHUR software, an interactive program for calculating with
characters of Lie groups and symmetric functions. The core of the computations
relies on enumeration and manipulation of combinatorial structures. As a first
"proof of concept", we present a formal proof of the conjugate function,
written in C. This function computes the conjugate of an integer partition. To
formally prove this program, we use the Frama-C software. It allows us to
annotate C functions and to generate proof obligations, which are proved using
several automated theorem provers. In this paper, we also draw on methodology,
discussing on how to formally prove this kind of program.Comment: To appear in CALCULEMUS 201
Specifying Reusable Components
Reusable software components need expressive specifications. This paper
outlines a rigorous foundation to model-based contracts, a method to equip
classes with strong contracts that support accurate design, implementation, and
formal verification of reusable components. Model-based contracts
conservatively extend the classic Design by Contract with a notion of model,
which underpins the precise definitions of such concepts as abstract
equivalence and specification completeness. Experiments applying model-based
contracts to libraries of data structures suggest that the method enables
accurate specification of practical software
- …