Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Alain Giorgetti is active.

Publication


Featured researches published by Alain Giorgetti.


acm symposium on applied computing | 2012

Program slicing enhances a verification technique combining static and dynamic analysis

Omar Chebaro; Nikolai Kosmatov; Alain Giorgetti; Jacques Julliand

Recent research proposed efficient methods for software verification combining static and dynamic analysis, where static analysis reports possible runtime errors (some of which may be false alarms) and test generation confirms or rejects them. However, test generation may time out on real-sized programs before confirming some alarms as real bugs or rejecting some others as unreachable. To overcome this problem, we propose to reduce the source code by program slicing before test generation. This paper presents new optimized and adaptive usages of program slicing, provides underlying theoretical results and the algorithm these usages rely on. The method is implemented in a tool prototype called sante (Static ANalysis and TEsting). Our experiments show that our method with program slicing outperforms previous combinations of static and dynamic analysis. Moreover, simplifying the program makes it easier to analyze detected errors and remaining alarms.


Journal of the Brazilian Computer Society | 2003

Scalable automated proving and debugging of set-based specifications

Jean-François Couchot; David Déharbe; Alain Giorgetti; Silvio Ranise

We present a technique to prove invariants of model-based specifications in a fragment of set theory. Proof obligations containing set theory constructs are translated to first-order logic with equality augmented with (an extension of) the theory of arrays with extensionality. The idea underlying the translation is that sets are represented by their characteristic function which, in turn, is encoded by an array of Booleans indexed on the elements of the set. A theorem proving procedure automating the verification of the proof obligations obtained by the translation is described. Furthermore, we discuss how a sub-formula can be extracted from a failed proof attempt and used by a model finder to build a counter-example. To be concrete, we use a B specification of a simple process scheduler on which we illustrate our technique.


Logical Methods in Computer Science | 2015

A correspondence between rooted planar maps and normal planar lambda terms

Noam Zeilberger; Alain Giorgetti

A rooted planar map is a connected graph embedded in the 2-sphere, with one edge marked and assigned an orientation. A term of the pure lambda calculus is said to be linear if every variable is used exactly once, normal if it contains no beta-redexes, and planar if it is linear and the use of variables moreover follows a deterministic stack discipline. We begin by showing that the sequence counting normal planar lambda terms by a natural notion of size coincides with the sequence (originally computed by Tutte) counting rooted planar maps by number of edges. Next, we explain how to apply the machinery of string diagrams to derive a graphical language for normal planar lambda terms, extracted from the semantics of linear lambda calculus in symmetric monoidal closed categories equipped with a linear reflexive object or a linear reflexive pair. Finally, our main result is a size-preserving bijection between rooted planar maps and normal planar lambda terms, which we establish by explaining how Tutte decomposition of rooted planar maps (into vertex maps, maps with an isthmic root, and maps with a non-isthmic root) may be naturally replayed in linear lambda calculus, as certain surgeries on the string diagrams of normal planar lambda terms.


Theoretical Computer Science | 2000

Counting rooted maps on a surface

Didier Arquès; Alain Giorgetti

Several enumeration results are known about rooted maps on orientable surfaces, whereas rooted maps on non-orientable surfaces have seldom been studied. First, we unify both kind of maps, giving general functional equations for the generating series which counts rooted maps on any locally orientable surface, by number of vertices and faces. Then, we formally solve these equations, in order to establish a detailed common formula for all these generating series. All of them appear to be algebraic functions of the variables counting the number of vertices and faces. Explicit expressions and numerical tables for the series counting rooted maps on the non-orientable surfaces of genus 3 and 4 are given.


Journal of Symbolic Computation | 2014

A Symbolic Transformation Language and its Application to a Multiscale Method

Walid Belkhir; Alain Giorgetti; Michel Lenczner

The context of this work is the design of a software, called MEMSALab, dedicated to the automatic derivation of multiscale models of arrays of micro- and nanosystems. In this domain a model is a partial differential equation. Multiscale methods approximate it by another partial differential equation which can be numerically simulated in a reasonable time. The challenge consists in taking into account a wide range of geometries combining thin and periodic structures with the possibility of multiple nested scales. In this paper we present a transformation language that will make the development of MEMSALab more feasible. It is proposed as a Maple package for rule-based programming, rewriting strategies and their combination with standard Maple code. We illustrate the practical interest of this language by using it to encode two examples of multiscale derivations, namely the two-scale limit of the derivative operator and the two-scale model of the stationary heat equation.


tests and proofs | 2011

The sante tool: value analysis, program slicing and test generation for C program debugging

Omar Chebaro; Nikolai Kosmatov; Alain Giorgetti; Jacques Julliand

This short paper presents a prototype tool called SANTE (Static ANalysis and TEsting) implementing an original method combining value analysis, program slicing and structural test generation for verification of C programs. First, value analysis is called to generate alarms when it can not guarantee the absence of errors. Then the program is reduced by program slicing. Alarm-guided test generation is then used to analyze the simplified program(s) in order to confirm or reject alarms.


tests and proofs | 2010

Combining static analysis and test generation for C program debugging

Omar Chebaro; Nikolai Kosmatov; Alain Giorgetti; Jacques Julliand

This paper presents our ongoing work on a tool prototype called SANTE (Static ANalysis and TEsting), implementing a combination of static analysis and structural program testing for detection of run-time errors in C programs. First, a static analysis tool (Frama-C) is called to generate alarms when it cannot ensure the absence of run-time errors. Second, these alarms guide a structural test generation tool (PathCrawler) trying to confirm alarms by activating bugs on some test cases. Our experiments on real-life software show that this combination can outperform the use of each technique independently.


IET Software | 2008

Verification of class liveness properties with java modelling language

Alain Giorgetti; Julien Groslambert; Jacques Julliand; Olga Kouchnarenko

Static checking is key for the security of software components. As a component model, this paper considers a Java class enriched with annotations from the Java modelling language (JML). It defines a formal execution semantics for repetitive method invocations from this annotated class, called the class in isolation semantics. Afterwards, a pattern of liveness properties is defined, together with its formal semantics, providing a foundation for both static and runtime checking. This pattern is then inscribed in a complete language of temporal properties, called Java temporal pattern language, extending JML. The authors particularly address the verification of liveness properties by automatically translating the temporal properties into JML annotations for this class. This automatic translation is implemented in a tool called JML annotation generator. Correctness of the generated annotations ensures that the temporal property is established for the executions of the class in isolation.


fundamental approaches to software engineering | 2006

JAG: JML annotation generation for verifying temporal properties

Alain Giorgetti; Julien Groslambert

We present a tool for verifying temporal properties on Java/ JML classes by generating automatically JML annotations that ensure the verification of the temporal properties.


tests and proofs | 2016

Your Proof Fails? Testing Helps to Find the Reason

Guillaume Petiot; Nikolai Kosmatov; Bernard Botella; Alain Giorgetti; Jacques Julliand

Applying deductive verification to formally prove that a program respects its formal specification is a very complex and time-consuming task due in particular to the lack of feedback in case of proof failures. Along with a non-compliance between the code and its specification (due to an error in at least one of them), possible reasons of a proof failure include a missing or too weak specification for a called function or a loop, and lack of time or simply incapacity of the prover to finish a particular proof. This work proposes a complete methodology where test generation helps to identify the reason of a proof failure and to exhibit a counterexample clearly illustrating the issue. We define the categories of proof failures, introduce two subcategories of contract weaknesses (single and global ones), and examine their properties. We describe how to transform a formally specified C program into C code suitable for testing, and illustrate the benefits of the method on comprehensive examples. The method has been implemented in StaDy, a plugin of the software analysis platform Frama-C. Initial experiments show that detecting non-compliances and contract weaknesses allows to precisely diagnose most proof failures.

Collaboration


Dive into the Alain Giorgetti's collaboration.

Top Co-Authors

Avatar

Olga Kouchnarenko

University of Franche-Comté

View shared research outputs
Top Co-Authors

Avatar

Nikolai Kosmatov

University of Franche-Comté

View shared research outputs
Top Co-Authors

Avatar

Elena Tushkanova

University of Franche-Comté

View shared research outputs
Top Co-Authors

Avatar

Jacques Julliand

University of Franche-Comté

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Fabrice Bouquet

University of Franche-Comté

View shared research outputs
Top Co-Authors

Avatar

Julien Groslambert

University of Franche-Comté

View shared research outputs
Top Co-Authors

Avatar

Walid Belkhir

University of Franche-Comté

View shared research outputs
Top Co-Authors

Avatar

Guillaume Petiot

University of Franche-Comté

View shared research outputs
Top Co-Authors

Avatar

Omar Chebaro

University of Franche-Comté

View shared research outputs
Researchain Logo
Decentralizing Knowledge