PhD Defense Clément Bera 15/09

  • Titel: Sista : A Metacircular Architecture for Runtime Optimisation Persistence
  • Clément BERA
  • Friday, 15th September, 14h, INRIA Lille - Bâtiment B


  • Directeurs de thèse : Stéphane Ducasse et Marcus Denker
  • Rapporteurs : Gaël Thomas et Laurence Tratt
  • Examinateurs : Theo D'Hondt et Elisa Gonzales Boix


Most high-level programming languages run on top of a virtual machine (VM) to abstract away from the underlying hardware. To reach high-performance, the VM typically relies on an optimising just-in-time compiler (JIT), which speculates on the program behavior based on its first runs to generate at runtime efficient machine code and speed-up the program execution. As multiple runs are required to speculate correctly on the program behavior, such a VM requires a certain amount of time at start-up to reach peak performance. The optimising JIT itself is usually compiled ahead-of-time to executable code as part of the VM.

The dissertation proposes Sista, an architecture for an optimising JIT, in which the optimised state of the VM can be persisted across multiple VM start-ups and the optimising JIT is running in the same runtime than the program executed. To do so, the optimising JIT is split in two parts. One part is high-level: it performs optimisations specific to the programming language run by the VM and is written in a metacircular style. Staying away from low-level details, this part can be read, edited and debugged while the program is running using the standard tool set of the programming language executed by the VM. The second part is low-level: it performs machine specific optimisations and is compiled ahead-of-time to executable code as part of the VM. The two parts of the JIT use a well-defined intermediate representation to share the code to optimise. This representation is machine-independent and can be persisted across multiple VM start-ups, allowing the VM to reach peak performance very quickly.

To validate the architecture, the dissertation includes the description of an implementation on top of Pharo Smalltalk and its VM. The implementation is able to run a large set of benchmarks, from large application benchmarks provided by industrial users to micro-benchmarks used to measure the performance of specific code patterns. The optimising JIT is implemented according to the architecture proposed and shows significant speed-up (up to 5x) over the current production VM. In addition, large benchmarks show that peak performance can be reached almost immediately after VM start-up if the VM can reuse the optimised state persisted from another run.

Posted by admin at 12 September 2017, 2:11 pm link

Talk Sept 14th: Agile Software Engineering

Talk Sept 14th: Agile Software Engineering — Opportunities for Industry 4.0

Prof. Serge Demeyer (University of Antwerp) is joining us for four months as part of his sabbatical leave. He will present his plans and (some of) his recent research on

Thursday, September 14th, 14:00 to 15:00 Room B31

Title: Agile Software Engineering — Opportunities for Industry 4.0


Industry 4.0 is the current trend of automation and data exchange in manufacturing technologies. This trend forces the manufacturing industry to switch to a more agile way of working, hence software engineering teams can and should take a leading role therein. This talk will explore the state-of-the-art in agile software development and the opportunities this may present for Industry 4.0. Consequently it will address questions like: Will our test suite detect critical defects early ? Where should we fix a defect ? How long will it take to fix defects ? Which team members get frustrated ? Can we use bots to process easy issues ?


Serge Demeyer is a professor at the University of Antwerp and the spokesperson for the ANSYMO (Antwerp System Modelling) research group. He directs a research lab investigating the theme of ”Software Reengineering” (LORE - Lab On REengineering). Serge Demeyer is a spokesperson for the NEXOR interdisciplinary research consortium and an affiliated member of the Flanders Make Research Centre. In 2007 he received a “Best Teachers Award” from the Faculty of Sciences at the University of Antwerp and as a consequence remains very active in all matters related to teaching quality. His main research interest concerns software evolution, more specifically how to strike the right balance between reliability (striving for perfection) and agility (optimising for improvements). He is an active member of the corresponding international research communities, serving in various conference organization and program committees. He has written a book entitled “Object-Oriented Reengineering” and edited a book on “Software Evolution”. He also authored numerous peer reviewed articles, many of them in top conferences and journals.

Post Scriptum:

To ensure that participants can control the sugar level in their arteries, Belgian chocolates will be provided.

Posted by admin at 1 September 2017, 2:28 pm link

[JOB][PhD] Infrastructure and Language Kernels for IoT Systems

The RMOD team of INRIA Lille and the CAR theme of IMT Lille Douai have an open position for a PhD student on Infrastructure and language kernels for IoT Systems.


Over the last years, the RMOD team of INRIA Lille and the CAR theme of IMT Lille Douai have been working together on creating tiny language core. For example, Guillermo Polito demonstrated in his PhD a fully reflective kernel that fits into 80 kb of memory and that it is possible to have hyper specialized kernels down to 11 kb. We have also worked on remote debugging (PhD of N. Papoulias) and dynamic code updates (PhD of P. Tesone) of such kernels. All of these works are prototyped in Pharo. More recently, RMOD have been working on advanced probes mechanisms (M. Denker) and a solid remote debugging infrastructure (D. Kudriashov). The goal of this PhD is to revisit the architecture around such mini-kernels for building IoT applicatons.

The following tasks are foreseen :

  • improve the tools to : edit, compile, debug, deploy and update such kernels on IoT devices. Learning how to debug remotely and dynamically update such IoT systems using the PharmID Pharo environment. This task will be in cooperation with M. Denker and D. Kudriashov on remote debugging for IoT and G. Polito for the kernel edition and tooling,
  • define some language extensions to manage groups of IoT devices to program them at once. Managing hundreds or even thousands of IoT devices is a challenging task. We want to explore different solutions to help deploying and updating groups of IoT devices using some registration mechanism in a cloud server or some groups/roles based approaches for example,
  • expressing the architecture of IoT applications. We would like to explore also how to express IoT architectures and what are the abstractions that should be offered to developers such as expressing event-driven architectures with declarative ECA (Event-Conditions-Actions) rules. But we will study a couple of typical IoT applications.
  • dynamically update an IoT application. An IoT application needs to adapt itself because unreachable or faulty devices or the diminution of available bandwith. We would like that the whole application can reconfigure itself in such situations as Guillaume Grondin proposes it in its PhD.
  • Lighweight virtual machines. Virtual machines in the IoT context are very powerful for incremental deployment or dynamic updates. Although they are tuned for speed, they consume space compared to a non VM-based program. In this task, we would like to investigate what is the minimal memory consumption that we can reach for a VM usable for IoT. To do so we will use a standard VM such as Cog (the open- source virtual machine of Pharo) and degrade it. We will use it since our minimal kernels are running on it.

Note that ZweiDenker GmbH is interested in collaboration on the IoT management cloud infrastructure.


To apply, please send us :

  • a CV,
  • a copy of your Master diploma
  • a copy of your Master thesis
  • 2 (two) reference letters, with the contact details of the referents
  • links to videos of demos of your experiments and/or simulations

The application materials should be sent no later than August 30th 2017 by email to Prof. S. Ducasse Email subject must start with : [PhD-RMoD- CAR-2017].


  • Guillermo Polito, Stephane Ducasse, N Bouraqadi, L Fabresse, M Mattone. Virtualization Support for Dynamic Core Library Update. Onward !, Oct 2015, Pittsburg, USA.
  • Guillermo Polito. Virtualization Support for Application Runtime Virtualization and Extension. Ph.D. Thesis 2015. Co-delivree par l’Universite de Lille et l’Ecole des Mines de Douai.
  • Extended results of Tornado : A Run-Fail-Grow approach for Dynamic Application Tayloring. Commanditeur : Ecole des mines de Douai, France. 50p, July 2014
  • Nick Papoulias, Noury Bouraqadi, Luc Fabresse, Stephane Ducasse and Marcus Denker, Mercury: Properties and Design of a Remote Debugging Solution using Reflection, Journal of Object Technology, 14, 1 :1-36, 2015
Posted by admin at 16 June 2017, 1:24 pm link

Pharo 6 Release

Pharo 6 has been released on June 6, 2017!

Read the official release announcement:

To get a monthly newsletter (and the release announcement) via email, consider subscribing to the Pharo Monthly Newsletter.

Posted by admin at 13 June 2017, 10:50 am link

Pharo Days 2017: May 18/19

Mark your calendar: on Thursday 18th & Friday 19th of May we are organising the Pharo Days 2017. This year we moved the location to Lille, France.


Each day has a similar schedule. The morning consists of a handful of twenty minute tech talks, the afternoon is an open pair programming workspace, coding sprint and free demo room.

For the full program, have a look here:


The registration is via this link (even if you are not member of the association). For association members, the reduction will be computed automatically.

The Pharo Days are a two day event with catering included (2 lunches, 1 diner, drinks and snacks).

  • € 199 — Regular
  • € 149 — For individual Pharo Association Members
  • € 89 — For individual Pharo Gold Association Members
  • € 89 — For Pharo Consortium Members (1, 2 or 4 for bronze, silver or gold)
  • € 39 — Students (including diner)
Posted by admin at 2 May 2017, 2:32 pm link
<< 1 2 3 4 5 6 7 8 9 10 >>