Seminar with VUB

  • Who: SoftLab and RMod members
  • What: Software engineering
  • When: Friday 3rd May from 10 to 17h.
  • Where: B Building Amphi

On Friday 3rd May 2019, several researchers from the SoftLab VUB are coming to present their work. Some members of the RMod team will also present theirs.

The workshop will occur in the Amphi of Inria B Building.

  • 10h Debugging session
    • A (Debuggable) Live Programming Framework for Big Data Applications. (Matteo Marra)
    • Non-deterministic Debugging for Non-deterministic Programs (Carmen Torres)
    • Object Miners: capturing objects for object-centric debugging (Steven Costiou)
    • A Pharo semantic to base debugging, exceptions and execution models on (Thomas Dupriez)
    • Challenges in Bootstrapping Reflective Kernels (Carolina Hernadez-Philips)
  • Changes
    • Designing language-agnostic code transformation engines (Jason Lecerf)
    • Validating Program Merges (Ward Muylaert)
    • Improving Cherry-Picking Changes: How to get fruits from longer branches (Pablo Tesone)
  • 12:30
    • Luch
  • 14:00 ML
    • Mining library usage with machine learning (Camilo Velazquez)
    • About software naturalness (Oleksandr Zaitsev)
    • Extracting Information From Ticket databases - starter (Honore Mahugnon)
  • 15:00 Recommandation
    • On the empirical benefits of programming to an interface in Java (Christopher Fuhrman)
    • Mining framework extensions for recommendation patterns (Dario Dinucci)
    • Database recommandation (Julien Delplanque)
  • 16:00
    • Break
  • 16h30 Transformations and Tests
    • Migration GWT Angular (Benoit)
    • DrTests (Dayne)
    • Rotten Tests
  • 17:30: end of Seminar
Posted by admin at 2 May 2019, 4:28 am link

[ANN] Digital Innovation Workshop - Lavigny/Switzerland

April 30 to May 3 in Lavigny/Switzerland

  • Event web site:
  • Eventbrite links for each session:
    • Workshop 1 – Introduction to Pharo: register
    • Workshop 2 – Web development using Seaside: register
    • Workshop 3 – New Integrated Development Environment (IDE) – Glamorous Toolkit: register

Context for the workshop:

Let’s learn together! As an entrepreneur and innovator in the healthcare space, the event organizer Dominique Pahud has been looking for programing languages that have key functionality tied to trust including data immutability, data provenance, data coupling and decoupling which are really important for most healthcare applications including the associated analytics and data science. These properties typically are associated with either advanced object oriented programming languages like Java or functional programming languages like Clojure. Although not perfect, the programming language Pharo is the closest thing Dominique has found that combines elements of both worlds. He has been working with leaders and key contributors within the Pharo community including Stéphane Ducasse (Professor and Researcher at French Computer Science and Applied Mathematics Institute INRIA) and Marcus Denker (Tenured researcher at INRIA) to explore incorporating trust features into the language itself which they have recently started working on. The other reason for Dominique's interest in the language is the integration of an advanced IDE (Integrated Development Environment), developed by Tudor Girba, which allows you to work on the code live and where you have full visibility and access to all layers of the technology stack. This is extremely important if you want to develop highly flexible/dynamic technology stacks that people can understand and work with. This can drastically improve software development productivity.

The challenge and opportunity: Pharo is a fringe language that most people don't know about (yet...) It's the latest incarnation of Smalltalk, the language created by Alan Kay and colleagues at Xerox Park in the 1970s which was the parent of most subsequent advanced object oriented programing languages including Java, Python and Ruby.

Applied example where Pharo and Integrated Development Environment (IDE) Glamorous Toolkit could be used:

A Personal Health Record (PHR) application with advanced features including dynamic/flexible ontologies/semantics, revocable informed consent and trust elements. Kertyx, a company in the formation stage, is looking to deploy this solution to support collaborative research efforts between academic research centers, care teams with different specialties in the realms of naturopathy, fitness/movement, acupuncture, and other synergistic fields in a patient centric and controlled fashion. Let’s establish what works in a systematic fashion and build quality improvement processes to scale it so that more patients/people can benefit!

Posted by admin at 29 March 2019, 9:14 am link

Lecture Vietnam: Live Programming IoT devices with PharoThings

  • Where: College of Informatic and Technology, Can Tho University, Vietnam
  • When: from January 7th to 11th, 2019

Access to the lecture is free but you need to register here

Description of the lecture

Pharo is a new generation reflective language and programming environment. In this lecture we will present Pharo: its elegant syntax fitting in a postcard, its pure object model. We will show that we can create a full REST server in less than a page of code.

But Pharo is more than that. With Pharo you will interact with live objects. You will learn how to code in the debugger. Finally this lecture is much more than Pharo. We will revisit the fondation of object-oriented programming after this lecture you will never program the same in ANY object-oriented programming languages. Pharo will fundamentally changes your perception about what OOP is.

All the material of the lecture is also available as a MOOC followed by more than 9000 students worldwide.

PharoThings is a live programming platform for IoT (Internet of Things) projects based on Pharo. It includes development tools to lively program, explore and debug remote boards (Raspberry Pi).

You can get support with the pharo community on discord

Bio Stéphane Ducasse

I'm an Inria Research Director. I lead RMoD team I'm expert in language design and reengineering. I worked on traits. Traits have been introduced in Pharo, Perl, PHP and under a variant into Scala and Fortress. I'm expert on software quality, program understanding, program visualisations, reengineering and metamodeling. I'm one of the developer of Moose, an open-source software analysis platform I created a company building dedicated tools for advanced software analyses. I'm one of the leader of Pharo a dynamic reflective object-oriented language supporting live programming. I wrote couple hundred articles and several books. According to google my h-index is 53 for more than 12300 citations. I like to work with people and help them growing.

Bio Allex Oliviera

Allex Oliveira is an IoT engineer (started 2018) at INRIA Lille Nord Europe in RMoD team (, MBA in Information Security. His interests are wireless networks, internet of things, cybersecurity, infrastructure, management & monitoring systems. He works with PharoThings, and enjoys coding new tools for Pharo IoT.

Bio Serge Stinckwich

Serge was introduced to Smalltalk during his master in the ninetie and since then is a Smalltalk zealot. Serge is a computer scientist from Sorbonne University and IRD (Institut de Recherche pour le Développement). He his working on live domain-specific tools and languages for the simulation of complex system based on Pharo. He is currently living in Yaoundé, Cameroon.

Posted by admin at 19 December 2018, 12:56 pm link

"Rotten Green Tests" paper accepted at ICSE

We are happy to announce that our "Rotten Green Tests" paper was accepted for presentation in ICSE'19.

This work is one of the results out of our collaboration with Andrew Black, who was visiting professor last summer from Portland. For those who don't know, ICSE is one of the top conferences on software engineering.

Please find below the abstract and link to the paper in ICSE's program:


Abstract: Unit tests are a tenant of agile programming methodologies, and are widely used to improve code quality and prevent code regression. A green (passing) test is usually taken as a robust sign that the code under test is valid. However, some green tests contain assertions that are never executed. We call such tests Rotten Green Tests. Rotten Green Tests represent a case worse than a broken test: they report that the code under test is valid, but in fact do not test that validity. We describe an approach to identify rotten green tests by combining simple static and dynamic call-site analyses. Our approach takes into account test helper methods, inherited helpers, and trait compositions, and has been implemented in a tool called DrTest. DrTest reports no false negatives, yet it still reports some false positives due to conditional use or multiple test contexts. Using DrTest we conducted an empirical evaluation of 19,905 real test cases in mature projects of the Pharo ecosystem. The results of the evaluation shows that the tool is effective; it detected 294 tests as rotten – green tests that contain assertions that are not executed. Some rotten tests have been “sleeping” in Pharo for at least 5 years.

Cheers, Julien Delplanque, Stéphane Ducasse, Guillermo Polito, Andrew P. Black, Anne Etien

Posted by admin at 18 December 2018, 3:00 pm link

IoT hackathon

ZWEIDENKER and RModD organized an IoT Hackathon in cologne at 19th of october 2018.

The plan will be:

  • Allex Oliviera will present the tutorial he made on PharoThings . The audience will try it in a hands-on-session and give feedback to improve it. Zweidenker is sponsoring the hardware so nobody has to bring anything to the session
  • We are collecting ideas at the moment what we want to do with the learnings from Allex, meaning what hardware to build 
  • If you have ideas about what to build with real life things that should be connected from pharo, please tell us. We will compile a list of ideas and for the first two or three we will buy the necessary hardware so we can build it at that day

The Hackathon will take place at

Luxemburger Str. 72
50674 Köln

As we have a limited amount of seats you need to register if you are interested. Go to to register your seat on the session. If there are more participants than seats we will have to do selection by dice rolling. Registration period ends on 5th of october so you will know in advance if you can come.

See you there!

Posted by admin at 26 September 2018, 1:58 pm link
<< 1 2 3 4 5 6 7 8 9 10 >>