Team Cassis

Overall Objectives
Scientific Foundations
Application Domains
New Results
Contracts and Grants with Industry
Other Grants and Activities

Section: New Results

Automated Deduction

We develop general techniques which allow us to re-use available tools in order to build a new generation of solvers offering a good trade-off between expressiveness, flexibility, and scalability. We focus on the careful integration of combination techniques and rewriting techniques to design decision procedures for a wide range of verification problems.

Decision procedures for data structures combined with theories of arithmetic

Participants : Christophe Ringeissen, Michaël Rusinowitch, Valerio Senni.

We have continued our work on using superposition calculi in connection with combination methods. After our study of the disjoint case [25] , we are now focusing on some non-disjoint cases where the shared theories correspond to fragments of arithmetic. In [24] , we present some decidability results for the universal fragment of theories modeling data structures and endowed with arithmetic constraints. More precisely, all the theories taken into account extend a theory that constrains the function symbol for the successor. A general decision procedure is obtained, by devising an appropriate calculus based on superposition. Moreover, we derive a decidability result for the combination of the considered theories for data structures and some fragments of arithmetic by applying a general combination schema for theories sharing a common subtheory. The effectiveness of the resulting algorithm is ensured by using the proposed calculus and a careful adaptation of standard methods for reasoning about arithmetic, such as Gauss elimination, Fourier-Motzkin elimination and Groebner bases computation.

Extension of algebraic specifications to Java genericity

Participants : Alain Giorgetti, Olga Kouchnarenko, Elena Tushkanova.

The Krakatoa Modeling Language (KML) is a specification language for Java. It is designed to allow algebraic-style specifications, which are more easily discharged by automated theorem provers than program-oriented specifications. A new feature introduced in Java 5 is genericity. We propose [42] extensions to KML for the algebraic specification of generic Java programs. The key features are the introduction of parametricity both for types and for theories and an instantiation relation between theories. Two significant examples illustrate this extension: the specification of the generic method for sorting arrays and the specification of a generic hash map and its use for memoization. We discuss soundness conditions and their verification.

Tree Automata and Rewriting

Participant : Michaël Rusinowitch.

With Florent Jacquemard (project-team Dahu) we have proposed in  [46] a model for XML update primitives of the W3C XQuery Update Facility as parameterized rewriting rules of the form: "insert an unranked tree from a regular tree language L as the first child of a node labeled by a ". For these rules, we give type inference algorithms, considering types defined by several classes of unranked tree automata. We show that typechecking for arbitrary sequences of XML update primitives can be done in polynomial time when the unranked tree automaton defining the output type is deterministic and complete, and that it is EXPTIME-complete otherwise.

We then apply the results to checking the local consistency of a policy, that is, the non-existence of a sequence of authorized update operations starting from a given document that simulates a forbidden update operation.


Logo Inria