714 research outputs found
Proving and Computing: Applying Automated Reasoning to the Verification of Symbolic Computation Systems
The application of automated reasoning to the formal verification
of symbolic computation systems is motivated by the need of
ensuring the correctness of the results computed by the system, beyond
the classical approach of testing. Formal verification of properties of the
implemented algorithms require not only to formalize the properties of
the algorithm, but also of the underlying (usually rich) mathematical
theory.
We show how we can use ACL2, a first-order interactive theorem
prover, to reason about properties of algorithms that are typically implemented
as part of symbolic computation systems. We emphasize two
aspects. First, how we can override the apparent lack of expressiveness we
have using a first-order approach (at least compared to higher-order logics).
Second, how we can execute the algorithms (efficiently, if possible)
in the same setting where we formally reason about their correctness.
Three examples of formal verification of symbolic computation algorithms
are presented to illustrate the main issues one has to face in this
task: a Gr¨obner basis algorithm, a first-order unification algorithm based
on directed acyclic graphs, and the Eilenberg-Zilber algorithm, one of
the central components of a symbolic computation system in algebraic
topology
CASL for CafeOBJ Users
Casl is an expressive language for the algebraic specificationof software requirements, design, and architecture. It has been developed by an open collaborative effort called CoFI (Common Framework Initiative for algebraic specification and development). Casl combines the best features of many previous main-stream algebraic specification languages, and it should provide a focus for future research and development in the use of algebraic techniques, as well facilitating interoperability ofexisting and future tools. This paper presents Casl for users of the CafeOBJ framework, focusing on the relationship between the two languages. It first considers those constructs of CafeOBJ that have direct counterparts in Casl, and then (briefly) those that do not. It also motivates various Casl constructsthat are not provided by CafeOBJ. Finally, it gives a concise overview of Casl, and illustrates how some CafeOBJ specifications may be expressed in Casl
Formal methods for software security (invited talk)
National audienc
From SOS to Asynchronously Communicating Actors
Structural Operational Semantics (SOS) provides a general format to describe a model as a transition system with very powerful synchronization mechanisms. Actor systems are distributed, asynchronously communicating units of computation with encapsulated state, with much weaker means of synchronizing between actors. In this paper, we discuss an implementation of a SOS model using actors in the object-oriented actor language ABS and how to argue that global properties about the model are inherited from the SOS level to the actor implementation. The work stems from a case study modelling the memory system of a cache-coherent multicore architecture
07061 Abstracts Collection -- Autonomous and Adaptive Web Services
From 4.2.2007 to 9.2.2007, the Dagstuhl Seminar 07061 ``Autonomous and Adaptive Web Services\u27\u27 was held in the International Conference and Research Center (IBFI), Schloss Dagstuhl.
During the seminar, several participants presented their current
research, and ongoing work and open problems were discussed. Abstracts of
the presentations given during the seminar as well as abstracts of
seminar results and ideas are put together in this paper. The first section
describes the seminar topics and goals in general.
Links to extended abstracts or full papers are provided, if available
Aspect-Oriented Programming
Aspect-oriented programming is a promising idea that can improve the quality of software by reduce the problem of code tangling and improving the separation of concerns. At ECOOP'97, the first AOP workshop brought together a number of researchers interested in aspect-orientation. At ECOOP'98, during the second AOP workshop the participants reported on progress in some research topics and raised more issues that were further discussed. \ud
\ud
This year, the ideas and concepts of AOP have been spread and adopted more widely, and, accordingly, the workshop received many submissions covering areas from design and application of aspects to design and implementation of aspect languages
Formalizing the Metatheory of Logical Calculi and Automatic Provers in Isabelle/HOL (Invited Talk)
International audienceIsaFoL (Isabelle Formalization of Logic) is an undertaking that aims at developing formal theories about logics, proof systems, and automatic provers, using Isabelle/HOL. At the heart of the project is the conviction that proof assistants have become mature enough to actually help researchers in automated reasoning when they develop new calculi and tools. In this paper, I describe and reflect on three verification subprojects to which I contributed: a first-order resolution prover, an imperative SAT solver, and generalized term orders for λ-free higher-order logic
Towards a K Semantics for OCL
International audienceWe give a formal definition to a significant subset of the Object Constraint Language (OCL) in the K framework. The chosen subset includes the usual arithmetical, Boolean (including quantifiers), and string expressions; collection expressions (including iterators and navigation); and pre/post conditions for methods. Being executable, our definition provides us, for free, with an interpreter for the chosen subset of OCL. It can be used for free in K definitions of languages having OCL as a component We illustrate some of the advantages of K by comparing our semantical definition of OCL with the official semantics from the language's standard. We also report on a tool implementing our definition that users can try online.Nous donnons une sémantique à un sous-ensemble significatif du langage OCL (Object Constraint Langage) dans le cadre formel K. Le sous-ensemble choisi inclut les expressions habituelles arithmétiques, logiques (y compris avec quantifications), et de type chaîne de caractères; les expressions de type collection (y compris les itérateurs et la navigation); et les pre/post conditions pour les méthodes des classes. Notre définition est exécutable et produit par construction un interpréteur pour le sous-ensemble d'OCL choisi. L'interpréteur peut être inclus comme composante dans d'autre langages définis en K qui incluent OCL en tant que sous-langage. Nous illustrons les avantages de notre sémantique en la comparant avec la sémantique issue de la norme (standard) OCL. Enfin, nous présentons un outil, disponible en ligne, qui implémente notre approche
- …