Utocat et Inria font avancer la recherche sur les smart contracts

Cela fait 1 an que nous travaillons avec l’équipe de recherche Rmod (Analyse et construction de langage pour l’évolution d’applications orientées objets) de l’Inria Lille pour faire avancer les usages blockchain . Nous aboutissons aujourd’hui à un module d’exploration pour mieux voir et comprendre ce qui se passe à l’exécution d’un smart contrat.

Posted by admin at 9 August 2018, 5:04 pm link

RMoD part of GDRI Sense-Sud

RMoD is part of the GDRI Sense-Sud project:

Sense-Sud - Innovative Sensors and IoT Telecommunication Networks for Environmental Surveillance in Southern Countries

More information at can be found here

Posted by admin at 29 June 2018, 3:36 pm link

[PhD] Multi-Facet Actionable Analytics for Information System Rejuvenation

The RMod research team (France) is opening a PhD position:

Context and Challenges

Information Systems are one of the key software backbones of our society and economy. They manage key data of our lives and activities: Insurance, payroll, CRM, or human resource management system. Often they are the cornerstone of organizations and key enablers of revenue. 

Reverse engineering, maintenance and evolution of software assets such as Information Systems has been identified by Deloitte as one of the 10 future breakthroughs in IT.

Organizations managing Information Systems are facing the following hard problems on daily use:

  • Old Languages.Very often, Information Systems’ lifetime spans decades. They survive technology hypes. But the counter part is that they are developed in programming languages that seem old and out of fashion compared to modern technology. For example, half of the business of a large insurance group is programmed in a language that does not exist according to Google. 
  • Aging Software.Since information systems grow over a long period of time, the underlying software is aging. It frequently contains dead or duplicated code, obsolete documentation, lack of tests. Since original developers are often not longer part of the project,  the overall knowledge of the application is scattered and incomplete.
  • Lack of Tools.  Often old languages lack modern tooling such as metrics, refactoring, test coverage, therefore it is difficult to exact information and control the evolution of an Information Systems. For example, performance analysis is often difficult to do because there are no off-the-shelf tools for old language.
  • Lack of knowledge.It is often difficult to understand the flow of information and processes embedded in the software. Over the years, the systems had to interact with different technologies  (REST, webservices,…) that may not even exist anymore. Yet this had an impact on the architecture of the system. Regularly past architecture decisions are lost and new changes unknowingly break basic assumptions or important invariants.
  • Changes at high risk.  The lack of knowledge coupled to the fact that there is often no or limited test available, turn any change into a very risky task. Developers are then hampered to do more than bug fixes or immediate client requirements.


The goal of the PhD is to support the “Rejuvenation of Information Systems”. The experiments and validation of the results will happen in the context of the PowerBuilder Information System of the CIM company. To support the PhD, CIM is paying an expert engineer to build infrastructure (parser, meta-model,) dedicated to PowerBuilder for the Moose open-source platform. The student will use and extend this infrastructure (software maps, quality assistant) for building new generation tools. 

The student will work on the following challenges:

  • Reverse engineering. Reverse engineering is not new. However, extracting key views that  support decision making is complex since it depends on local context (business, process, framework constraints). Such contextual approach does not have a formal frame but it advocated by “Actionable Analytic”@_ftnref1. The student will work on how to support the reverse engineering of Information Systems taking into account their local context. This reverse engineering will integrate information from various different sources such as structural information, data flow between identified components, authors, bug reports, etc. This is a complex task because of the intrinsic complexity of the legacy and the local context. 
  • Actionable quality assessment. The student will develop domain and language specific quality assessment maps. The quality assessment will provide reports and maps about dead code, code duplication, specific metrics adapted to the language and the domain (form, specific database call, specific procedure).
  • Run-time analysis and program charge.CIM is planning to expand on a new market of large insurance companies. It is worried that its products may not scale up to the amount of data this will imply. There is a need to identify and understand optimization opportunities. How can we support understanding the run-time performances of an information system? This is a complex task because performance gains and losses are spread among different software layers (graphical interface, telecommunications, core application, database), and it is not clear where one should focus. In addition, instrumenting the legacy code and the other systems interacting with it (e.g.the database back-ends) is not straightforward.

Identified Tasks

The student will work incrementally in 3 months “sprints” on the following tasks : 

  • Learn Powerbuilder, Moose and meta-modeling, literature review
  • Identify contextual information (local/team patterns, frameworks constraints, processes).
  • Define actionable metrics or queries. 
  • Build first actionable analysis (local anti-pattern identification) and related maps.
  • Validate with development team.
  • Build first run-time actionable analysis ( database anti-pattern identification) and related maps. 
  • Identify concrete run-time bottlenecks. 

RMOD Supervisors: Stéphane Ducasse (program understand, analyses, tooling), Nicolas Anquetil (code analysis, quality metrics, program transformation) et Anne Etien (tests, database, information systems).

Advanced engineer: Guillaume Larcheveque

Posted by admin at 20 June 2018, 1:20 pm link

[JOB][PhD] BlockChain

The RMod research team (France) is opening a PhD position:

English Version: Support to the "BlockChain-isation" of software systems

Blockchain is becoming more and more mature as a technology and architecture to secure transactions. Various and competing platforms are emerging such as Hyperledger, Ethereum or Digital Assets.

In this context BlockSY proposes to abstract from these differentes solutions. Now one of the major challenges that companies are confronted is how to migrate existing business making applications use such new architecture. These needs to be be completely restructured and modified to connect them to some blockchain application. Indeed, first experiences show that more than 80% of the time (and project cost) to connect an existing application to a blockchain or to build a blockchain connecting to an existing legacy is spent in the identification of the data flow, database connexion, data manipulation and application internal logic. The goal of the PhD is to support using tools the analysis of existing applications to support the identification of such information. Such tooling should support the use of BlockSy in existing software systems.

The following possible tasks are:

  • Study of Moose an international open-source platform for software analysis developed by RMOD team.
  • Study of Ethereum, Hyperledger and BlockSY
  • Definition of queries - DSL or not
  • Software maps & Tools to explore query results
  • Dedicated metamodel to represent connector and flow of information
  • Code transformation to inject BlockSY interface in existing software

The first experiments show that up to 80% of the time (and money) of such projects is consumed by an analysis of the data flows and the logic of the existing (legacy) systems. This thesis aims at providing new tools for legacy software analysis to help developers identify the data flows, database connections, and where to inject the interactions with the BlockSI platform.

French version: Aide a la Blockchainisation d’Applicatifs Existants

La blockchain devient de plus en plus mure comme technologie et architecture pour securiser des transactions. Differentes plateformes émergent telle Hyperledger, Ethereum ou Digital Assets. Dans ce cadre BlockSI de SYMAG se propose d’abstraire les differentes solutions. Un des défis majeurs auquel les companies voulant tirer bénéfices de solutions Blockchain sont confrontées est comment migrer des applications existantes pour utiliser cette nouvelle architecture. En effet, de premières experiences montrent que plus de 80% du temps (et cout de projet) pour connecter une application blockchain a un applicatif existant est passe dans l’identification des flux et logiques des applicatifs. Le but de la these est d’outiller l’analyse d’applicatifs afin d’identifier les flux de donnees, les connexions en base de donnees afin de permettre l’injection d’appel a la plateforme BlockSI.

Plan de travail possible:

  • Montee en puissance sur Moose la plateforme open-source développer en partie par l’équipe RMOD
  • Montee en puissance sur Blockchain/Ethereum/Hyperledger et BlockSY
  • Définition de vue/requete - DSL ou langage dédié
  • Representation sous forme de carte - Outils d’exploration des résultats de requetes
  • Creation de metamodel dédié pour la représentation de connecteurs et flot d'information
  • Injection de connecteur BlockSY dans l’existant.

Work plan:

  • Getting acquainted and proficient in the Moose open source platform ( to which the RMod team is a key contributor
  • Getting acquainted and proficient in the various Blockchain technologies including Ethereum/Hyperledger and, of course, BlockSI
  • Tooling on visualizations, maps, queries, and creation of Domain Specific Lanquage(s)
  • Specification of a specific meta-model to represent connectors and flows
  • Automatic injection of BlockSI connectors in the source code of the legacy systems

Description of the Team and Supervisors

The goal of RMoD is to support ever running systems. This objective is tackled from two complementary perspectives: reengineering of large systems and constructs for dynamic reflective programming languages. In the reengineering perspective we propose new analyses to understand and restructure existing large applications (specialized package metrics, adapted visualizations, layer identifications, automated migration) on top of Moose (an open-source reengineering platform). We work on rule identification, validation. We created Synectique a company deploying tools that support software analyses.

Stephane 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.

Nicolas Anquetil est Habilité à Diriger des Recherches en informatique à l'Université de Lille depuis mai 2014 Il a un doctorat en informatique de l’université de Montréal (Canada) en 1996, a travaillé successivement à l’Université d’Ottawa (Canada), l’Université Fédérale de Rio de Janeiro (Brésil), l’Université Catholique de Brasilia (Brésil), l’École des Mines de Nantes (France) et l’université de Lille (France, depuis 2009). Ses travaux de recherche se concentrent sur l’évolution logicielle : gestion de l’évolution, gestion des connaissances liées au génie logiciel, qualité logiciel, remodularisation d’architecture. Il a co-orienté 6 thèses de doctorat dans ce domaine et a de nombreuses publications dans les principales conférences et revues internationales du domaine.

Nicolas Anquetil received his habilitation from University of Lille in 2014. He defended his PhD in computer science at University of Montreal (Canada) in 1996. Later he successively worked at University of Ottawa (Canada), Federal University of Rio de Janeiro (Brazil), Catholic University of Brasilia (Brazil), Ecole des Mines de Nantes (France, and University of Lille (France) since 2009. His research interest center around software evolution, including such topics as: software evolution management, knowledge management for software engineering, software quality, software architecture remodularization. He co-supervized 6 PhDs n this domain and has numerous publications in the main conferences and journals in software engineering and software evolution.

Posted by admin at 8 June 2018, 1:35 pm link

[PhD] Virtual machine for debugging high performance computing

The RMOD team of INRIA Lille has an open position for a PhD student.

I. Context

Language virtual machines (such as the Java virtual machine) are deployed everywhere. They can be found on mobiles, on web browsers, on server applications and embedded devices. They implement many features and allow applications to be packaged once and deployed on many different platforms. They provide debugging facilities for the program they run.

Besides, in the context of high performance computing, a single program is deployed on many different machines with different hardwares (CPUs, GPUs, TPUs, FPGAs, ...). Tracking down bugs in this context is tough: all the different machines communicate asynchronously with a nondeterministic order of execution due to side-effects such as latency. Debugging this kind of problem is today close to impossible.

In the RMoD team in Inria Lille, we have skills in virtual machine implementation and application debugging. We built a virtual machine with one of the most powerful debugging engines. Our virtual machine has no support, so far, for vectorised instructions which are really important for high performance computing.

II. Problem & research directions

How to extend the language virtual machine to solve easily and efficiently bugs happening in high performance computing problems in a heterogenous cluster of machines?

The Ph.D will be split in 3 phases:

  1. How to support vector instructions in a language virtual machine with full debugging support? The student will focus on Intel SIMD instructions (AVX, AVX-512) and most likely will design a debuggable DSL on top of the virtual machine using those instructions.
  2. How to integrate vector instructions with the eco-system (frameworks, development tools, virtual machine)? The student would need to implement a library or framework (Matrix library ?) to prove that it is possible to use the DSL implemented in part 1). In terms of development tools, some enhancements are required for them to support vector instructions. Regarding the VM, multiple problems arise (How to align vector objects? How to deal with 256/512 bits of raw data on stack? How to support vector instructions efficiently in JIT compilation?)
  3. Can we efficiently debug high performance computing programs by launching part of the execution on our virtual machine while keeping decent performance ?

The student will need to adapt an existing high performance computing framework to compile to our virtual machine and build the debugging toolchain to be able to debug the part of the program run on our virtual machine. Performance will be slower than normal execution, but it has to stay practical (an hour computation can be down to a night of computation to help solving a problem, but not to months of computation).


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

The application materials should be sent by email to C. Béra <> and S. Ducasse <>.

Email subject must start with : [PhD-RMoD-VM-2018].


Posted by admin at 21 February 2018, 4:16 pm link
<< 1 2 3 4 5 6 7 8 9 10 >>