POPL 2017
Sun 15 - Sat 21 January 2017
Tue 17 Jan 2017 14:30 - 15:00 at Amphitheater 44 - Abstract Interpretation Chair(s): Roberto Giacobazzi

We present a new modular way to structure abstract interpreters. Modular means that new analysis domains may be plugged-in. These abstract domains can communicate through different means to achieve maximal precision. First, all abstractions work cooperatively to emit alarms that exclude the undefined behaviors of the program. Second, the state abstract domains may exchange information through abstractions of the possible value for expressions. Those value abstractions are themselves extensible, should two domains require a novel form of cooperation. We used this approach to design eva, an abstract interpreter for C implemented within the frama framework. We present the domains that are available so far within eva, and show that this communication mechanism is able to handle them seamlessly.