Concurrent programs are notorious for containing errors that are difficult to reproduce and diagnose. A common kind of concurrency error is deadlock, which occurs when a set of thr...
Method inheritance and data abstraction are central features of objectoriented programming that are attained through a hierarchical organization of classes. Recent studies have sh...
Common subexpression elimination is a well-known compiler optimisation that saves time by avoiding the repetition of the same computation. In lazy functional languages, referential...
This paper presents a new functional programming model for graph structures called structured graphs. Structured graphs extend conventional algebraic datatypes with explicit defi...
We present a static analysis by Abstract Interpretation to check for run-time errors in parallel C programs. Following our work on Astr´ee, we focus on embedded critical programs ...