Supporting Concurrency Abstractions with Ownership-based Metaobject Protocols

What: Supporting Concurrency Abstractions with Ownership-based Metaobject Protocols
When: February 11 14:00
Who: Stefan Marr http://stefan-marr.de/research/
Where: b21, Lille

Abstract:

Implementing concurrent programming languages on top of today’s multi-language virtual machines (VMs) is challenging, because these VMs provide only rudimentary support for such languages. We propose ownership-based metaobject protocols (OMOPs) as a unifying substrate for VMs. It allows for the implementation of concurrent programming concepts such as actors and software transactional memory and can reach performance on par with that of ad hoc implementations.

MDS (Model Driven Security) pour des processus collaboratifs déployés dans le Cloud

Quand: lundi 13 janvier de 14h00 à 15h00 à Inria Lille salle B31
Titre : MDS (Model Driven Security) pour des processus collaboratifs déployés dans le Cloud
Intervenant : Wendpanga Francis OUEDRAOGO – LIRIS INSA de Lyon
Résumé : Le développement de stratégies collaboratives entre entreprises s’appuie largement sur la création de processus communs. Pour construire et mettre en œuvre ces processus en utilisant différents composants des SI, le projet « Process 2.0 » a proposé de concevoir ces processus comme des chaînes de services réutilisables avant de gérer leur déploiement dans le cloud. Le travail que je vous présente vise à sécuriser contextuellement ces processus en fonction des plateformes de déploiement. Pour cela, j’ai étendu l’approche MDS pour assurer la capture des besoins avant de générer les politiques de protection. La prise en compte des modèles risques associés aux plateformes de déploiement permet d’ajuster les niveaux de protection requis. La logique de transformation de modèle a donc été adaptée pour définir un tissage des différentes dimensions (processus, déploiement et sécurité), ce qui permet d’augmenter la contextualisation. Enfin, ces politiques sont vues comme des Model@runtime et sont interprétées par un médiateur de sécurité chargé d’invoquer les services de sécurité réels pour garantir la protection demandée. L’ensemble de notre solution est conçu comme un service de gestion de la protection pluggable sur différentes plateformes.

Program Comprehension with Moose and Hapax

Title: Program Comprehension with Moose and Hapax
Presenter: Gustavo Santos (Federal University of Minas Gerais – Brazil)
When: November 15th 2013 at 10h
Where: B31

Abstract:
Software visualization techniques have been proposed to improve program comprehension, as large system get difficult to understand and maintain. This talk presents the integration of Hapax with Moose. Hapax is a plugin that extracts textual information in identifiers and comments of a software, and presents it in a Distribution Map. This visualization compares the physical structure (i.e., namespaces or packages) with the textual structure (i.e., clusters of conceptually similar classes). Hapax was originally developed by Adrian Kuhn in 2007. The integration Moose-Hapax was developed by Gustavo Santos, in his two-month internship in RMoD-INRIA.

SMT and combination of theories

On Thursday 14 November 2013, 11:00-12:00 room B31 of INRIA Lille, Pascal Fontaine (LORIA Nancy) will give a talk on “SMT and combination of theories”.

 

Abstract:

Satisfiability Modulo Theories (SMT) solvers are used in an increasing number of applications. After a brief presentation of the internals of SMT solvers, we will review some results on combining theories. Combination of theories is at the core of SMT solvers, allowing several decision procedures (and notably for the theory for linear arithmetic and for the theory for uninterpreted functions) to cooperate to decide the satisfiability of sets of literals in the union of the languages. Combining decision procedures is not always possible, but for disjoint languages, many positive results exist.

Automatic Detection of Floating-Point Exceptions

On Friday 8 November 2013, 14:00-15:00 Room B31 of INRIA Lille, Earl Barr (University College London) will give a talk on “Automatic Detection of Floating-Point Exceptions”.

 

Abstract:

Floating-point exceptions can be disastrous, yet writing exception-free numerical programs is very difficult. In this talk, I will present Ariadne, a practical symbolic execution system specifically designed and implemented for automatically finding witnesses for floating-point exceptions. Ariadne systematically transforms a numerical program to explicitly check each exception-triggering condition, then symbolically executes the transformed program using arbitrary precision rational arithmetic to find candidate inputs that can reach and trigger an exception. Ariadne converts each candidate input into a floating-point number, then tests it against the original program. In general, approximating floating-point arithmetic with arbitrary precision rationals can change paths from feasible to infeasible and vice versa. The key insight of this work is that, for the problem of detecting floating-point exceptions, this approximation works well in practice because, if one input reaches an exception, many are likely to, and at least one of them will do so over both floating-point and arbitrary precision arithmetic. To realize Ariadne, we also devised a novel, practical linearization technique to solve nonlinear constraints. We extensively evaluated Ariadne over 467 scalar functions in the widely used GNU Scientific Library (GSL). Our results show that Ariadne is practical and identifies a large number of real runtime exceptions in GSL.

Discovering Program Invariants and Automatic Program Repair

On Thursday 10 October 2013, 9:30-10:30 INRIA Lille Salle Plénière (aka du Conseil), Westley Weimer (University of Virginia) will give a talk on “Discovering Program Invariants and Automatic Program Repair “.

 

Abstract:

There are more bugs in real-world programs than human programmers can
realistically address. Automatic program repair has been a longstanding
goal in software engineering, yet debugging remains a largely manual
process.

Debugging brings an implementation closer to its specification: we
thus desire to know that specification. We briefly discuss recent advances
in dynamic invariant detection and specification mining. Using techniques
as diverse as polyhedra, equation solving, and software quality metrics, we
can discover critical aspects of what a program “does do” or “should do”
with fewer than 5% false positives.

We then introduce a fully automated approach for crafting patches
that repair bugs in off-the-shelf legacy systems. An extended form of
genetic programming is used to evolve repairs that leverage existing
programmer expertise and preserve required functionality. In a
large-scale, systematic study of high-priority defects from programs
involving over 5 million lines of code and over 10,000 test cases, we
find that our technique can repair 60 of 105 bugs, freeing developer
effort. Publicly-available cloud computing prices allow our results to be
reproduced for $356; a successful repair completes in 88 minutes and
costs $5.92 on average, a result that is strongly human competitive.

cTuning.org: systematizing program optimization using crowdsourcing and predictive modeling

On Wednesday 18 September 2013, 11:00-12:00 INRIA Lille room B31 (new building), Grigori Fursin (INRIA, Saclay) will give a talk on “cTuning.org: systematizing program optimization using crowdsourcing and predictive modeling”.

 

Abstract:

Continuing innovation in science and technology is vital for our society and
requires ever increasing computational resources. However, delivering such
resources has become intolerably complex, ad-hoc, costly and error prone due to an
enormous number of available design and optimization choices combined with the
complex interactions between all software and hardware components.
Auto-tuning, run-time adaptation and machine learning based approaches
have been demonstrating good promise to address above challenges for more than
a decade but are still far from the widespread production use due to unbearably
long exploration and training times, lack of a common experimental methodology,
and lack of public repositories for unified data collection, analysis and mining.

In this talk, I will present my long-term holistic and cooperative
methodology and infrastructure for systematic characterization and optimization
of computer systems through unified and scalable repositories of knowledge
and crowdsourcing. In this approach, multi-objective program and architecture
tuning to balance performance, power consumption, compilation time, code size
and any other important metric is transparently distributed among multiple
users while utilizing any available mobile, cluster or cloud computer services.
Collected information about program and architecture properties and behavior
is continuously processed using statistical and predictive modeling techniques
to build, keep and share only useful knowledge at multiple levels of granularity.
Gradually increasing and systematized knowledge can be used to predict most profitable
program optimizations, run-time adaptation scenarios and architecture configurations
depending on user requirements. I will also present a new version of the public,
open-source infrastructure and repository (cTuning3 aka Collective Mind)
for crowdsourcing auto-tuning using thousands of shared kernels, benchmarks
and datasets combined with online learning plugins. Finally, I will discuss
encountered challenges and some future collaborative research directions
on the way towards Exascale computing.

Mining and Understanding Bug Repositories

On Friday 13 September 2013, 14:00-15:00 INRIA Lille room B31 (new building), Jifeng Xuan (INRIA Adam) will give a talk on “Mining and Understanding Bug Repositories”.

 

Abstract:

Software bug repositories are large-scale databases in software development and maintenance. To face with complex problems in bug repositories, mining techniques are used to analyze software bug data. What can be found in bug repositories? Can we leverage bug data to assist software development? This presentation focuses on mining and understanding bug repositories. I will introduce my recent work when I worked as a PhD. The work is listed in three categories, namely mining bug repositories (bug report assignment for developers), understanding software development (leveraging bug data for development), and applying the bug repository analysis (requirements repository transfer).

Engineering self-adaptive, self-organising systems: the smart grid use case

On Tuesday 16 July 2013, 14:00-14:45 INRIA Lille room B31 (new building), Sylvain Frey will give a talk on “Engineering self-adaptive, self-organising systems: the smart grid use case”

 

Abstract:

Designing the control infrastructure of future “smart” electrical grids is a challenging task. Such grids will integrate a wide variety of producers and consumers that are unpredictable and operate at various scales. Smart grids will need to control these in order to attain global management objectives at the macro-level, while also taking into account local objectives and private interests at the micro-level. The long-term aim of this work is to identify and develop reusable paradigms, architectures and frameworks that help build self-adaptive and self-organising systems, of which smart grids are a particularly interesting case. We will discuss how modularisation and integration techniques help the design of self-adaptation and self-organisation, and how to capitalise on re-usable tools, such as integration design patterns, to solve control problems in the context of complex systems.

(Français) Du calcul mathématique aux calculs informatiques

Sorry, this entry is only available in French.