Entries

5 Jun 2015

In this paper, we present a generic abstract interpretation based
framework to enhance the precision of analyses on codes containing multiple
successive conditionals. We introduce predicated domains,
that preserve and reuse information valid only inside some branches of the
code. Our predicates, derived from the conditional statements of the
program, postpone the loss of information caused by joins.

The work has been integrated into Frama-C as a new plugin. Experiments on
real code show that our approach scales, and improves significantly
the precision of the Value
Analysis plugin of Frama-C.

This article has been published in the proceedings of
FMICS 2014,
where it was awarded the best paper award.
Here are the pdf and the
link
at the publisher's website. A journal version is under consideration
for publication.

Coq proofs of the results in the journal version: .v file,
or as an html page.

15 Jul 2009

Didier Rémy and I have written an
article completing the MLF "trilogy", entitled A Church-style
intermediate language for MLF. We describe an explicit language
for a lambda-calculus with (MLF-style) flexible quantification; the
language, called
xMLF, extends the explicit version of System F with a new form
of type applications. Using xMLF, it becomes possible to use
MLF in a compiler that uses a typed intermediate language. We
describe how to elaborate the results of the (graphical)
MLF type inference algorithms into xMLF terms.

22 Sep 2008

This paper, presented at ICFP'08, describes ML
type inference in an entirely graphical setting, and shows that
MLF type inference is only a very simple generalization of
the ML case. Our approach is constraints-based; we give some
equivalence rules on constraints, as well as an algorithm
to solve them.
We also show that type inference for MLF
has linear complexity in practice, as in ML.

The full abstract for the paper can be found
in my publications page.
Compared to the published version,
this version corrects
some small mistakes in Definitions 9 and 11, and in Figure 17.
The long version is available as Part 2 of my
PhD dissertation.

Related links

28 Aug 2004

Using the resultas of an internship I did in the
Ultra Group,
Joe Wells
and I have written a paper entitled
« Graph-Based Proof Counting and Enumeration with
Applications for Program Fragment Synthesis », which was
submitted to
LOPSTR'04
(this is the version found in the preliminary proceedings of
the conference).

I have presented the paper at LOPSTR'04 in Verona, Italy. The
slides I used are here;
you need advi to view
them.

A final version of
the paper is also available. Please note that the preliminary one
is slightly more complete, as it includes an appendix not found in
the final paper.

Finally, the abstract of the paper can be found in my
publications page.