147 research outputs found
Automatic Unbounded Verification of Alloy Specifications with Prover9
Alloy is an increasingly popular lightweight specification language based on
relational logic. Alloy models can be automatically verified within a bounded
scope using off-the-shelf SAT solvers. Since false assertions can usually be
disproved using small counter-examples, this approach suffices for most
applications. Unfortunately, it can sometimes lead to a false sense of
security, and in critical applications a more traditional unbounded proof may
be required. The automatic theorem prover Prover9 has been shown to be
particularly effective for proving theorems of relation algebras [7], a
quantifier-free (or point-free) axiomatization of a fragment of relational
logic. In this paper we propose a translation from Alloy specifications to fork
algebras (an extension of relation algebras with the same expressive power as
relational logic) which enables their unbounded verification in Prover9. This
translation covers not only logic assertions, but also the structural aspects
(namely type declarations), and was successfully implemented and applied to
several examples
HeteroGenius: A Framework for Hybrid Analysis of Heterogeneous Software Specifications
Nowadays, software artifacts are ubiquitous in our lives being an essential
part of home appliances, cars, cell phones, and even in more critical
activities like aeronautics and health sciences. In this context software
failures may produce enormous losses, either economical or, in the worst case,
in human lives. Software analysis is an area in software engineering concerned
with the application of diverse techniques in order to prove the absence of
errors in software pieces. In many cases different analysis techniques are
applied by following specific methodological combinations that ensure better
results. These interactions between tools are usually carried out at the user
level and it is not supported by the tools. In this work we present
HeteroGenius, a framework conceived to develop tools that allow users to
perform hybrid analysis of heterogeneous software specifications.
HeteroGenius was designed prioritising the possibility of adding new
specification languages and analysis tools and enabling a synergic relation of
the techniques under a graphical interface satisfying several well-known
usability enhancement criteria. As a case-study we implemented the
functionality of Dynamite on top of HeteroGenius.Comment: In Proceedings LAFM 2013, arXiv:1401.056
Recommended from our members
Automated verification of refinement laws
Demonic refinement algebras are variants of Kleene algebras. Introduced by von Wright as a light-weight variant of the refinement calculus, their intended semantics are positively disjunctive predicate transformers, and their calculus is entirely within first-order equational logic. So, for the first time, off-the-shelf automated theorem proving (ATP) becomes available for refinement proofs. We used ATP to verify a toolkit of basic refinement laws. Based on this toolkit, we then verified two classical complex refinement laws for action systems by ATP: a data refinement law and Back's atomicity refinement law. We also present a refinement law for infinite loops that has been discovered through automated analysis. Our proof experiments not only demonstrate that refinement can effectively be automated, they also compare eleven different ATP systems and suggest that program verification with variants of Kleene algebras yields interesting theorem proving benchmarks. Finally, we apply hypothesis learning techniques that seem indispensable for automating more complex proofs
Proof theory for hybrid(ised) logics
Hybridisation is a systematic process along which the characteristic features of hybrid logic, both at the syntactic and the semantic levels, are developed on top of an arbitrary logic framed as an institution. In a series of papers this process has been detailed and taken as a basis for a specification methodology for reconfigurable systems. The present paper extends this work by showing how a proof calculus (in both a Hilbert and a tableau based format) for the hybridised version of a logic can be systematically generated from a proof calculus for the latter. Such developments provide the basis for a complete proof theory for hybrid(ised) logics, and thus pave the way to the development of (dedicated) proof support.The authors are grateful to Torben Bräuner for helpful, inspiring discussions, and to the anonymous referees for their detailed comments.
This work is funded by ERDF—European Regional Development Fund, through the COMPETE Programme, and by National Funds through Fundação para a Ciência e a Tecnologia(FCT) within project PTDC/EEI-CTP/4836/2014. Moreover, the first and the second authors are sponsored by FCT grants SFRH/BD/52234/2013 and SFRH/BPD/103004/2014, respectively. M. Mar-tins is also supported by the EU FP7 Marie Curie PIRSES-GA-2012-318986 project GeTFun: Generalizing Truth-Functionality and FCT project UID/MAT/04106/2013 through CIDMA. L.Barbosa is further supported by FCT in the context of SFRH/B-SAB/113890/2015
Ten virtues of structured graphs
This paper extends the invited talk by the first author about the virtues
of structured graphs. The motivation behind the talk and this paper relies on our
experience on the development of ADR, a formal approach for the design of styleconformant,
reconfigurable software systems. ADR is based on hierarchical graphs
with interfaces and it has been conceived in the attempt of reconciling software architectures
and process calculi by means of graphical methods. We have tried to
write an ADR agnostic paper where we raise some drawbacks of flat, unstructured
graphs for the design and analysis of software systems and we argue that hierarchical,
structured graphs can alleviate such drawbacks
Reuse and integration of specification logics: the hybridisation perspective
Hybridisation is a systematic process along which the characteristic features
of hybrid logic, both at the syntactic and the semantic levels, are developed on
top of an arbitrary logic framed as an institution. It also captures the construction
of first-order encodings of such hybridised institutions into theories in first-order
logic. The method was originally developed to build suitable logics for the specification
of reconfigurable software systems on top of whatever logic is used to describe
local requirements of each system’s configuration. Hybridisation has, however, a
broader scope, providing a fresh example of yet another development in combining
and reusing logics driven by a problem from Computer Science. This paper offers an
overview of this method, proposes some new extensions, namely the introduction of
full quantification leading to the specification of dynamic modalities, and exemplifies
its potential through a didactical application. It is discussed how hybridisation
can be successfully used in a formal specification course in which students progress
from equational to hybrid specifications in a uniform setting, integrating paradigms,
combining data and behaviour, and dealing appropriately with systems evolution and
reconfiguration.This work is financed by the ERDF—European Regional Development Fund
through the Operational Programme for Competitiveness and Internationalisation—COMPETE
2020 Programme, and by National Funds through the FCT (Portuguese Foundation for Science
and Technology) within project POCI-01-0145-FEDER-006961. M. Martins was further
supported by project UID/MAT/04106/2013. A. Madeira and R. Neves research was carried
out in the context of a post-doc and a Ph.D. grant with references SFRH/BPD/103004/2014
and SFRH/BD/52234/2013, respectively. L.S. Barbosa is also supported by SFRH/BSAB/
113890/2015
Automated Deduction in the B Set Theory using Typed Proof Search and Deduction Modulo
International audienceWe introduce an encoding of the set theory of the B method using polymorphic types and deduction modulo, which is used for the automated verication of proof obligations in the framework of theBWare project. Deduction modulo is an extension of predicate calculus with rewriting both on terms and propositions. It is well suited for proof search in theories because it turns many axioms into rewrite rules. We also present the associated automated theorem prover Zenon Modulo, an extension of Zenon to polymorphic types and deduction modulo, along with its backend to the Dedukti universal proof checker, which also relies on types and deduction modulo, and which allows us to verify the proofs produced by Zenon Modulo. Finally, we assess our approach over the proof obligation benchmark of BWare
SMT Solving Modulo Tableau and Rewriting Theories
International audienceWe propose an automated theorem prover that combines an SMT solver with tableau calculus and rewriting. Tableau inference rules are used to unfold propositional content into clauses while atomic formulas are handled using satisfiability decision procedures as in traditional SMT solvers. To deal with quantified first order formulas, we use metavariables and perform rigid unification modulo equalities and rewriting, for which we introduce an algorithm based on superposition, but where all clauses contain a single atomic formula. Rewriting is introduced along the lines of deduction modulo theory, where axioms are turned into rewrite rules over both terms and propositions. Finally, we assess our approach over a benchmark of problems in the set theory of the B method
- …