EN FR
EN FR


Section: Partnerships and Cooperations

International Initiatives

Inria Associate Teams

PLOMO
  • Title: Customizable Tools and Infrastructure for Software Development and Maintenance

  • Inria principal investigator: Stéphane Ducasse

  • International Partner (Institution - Laboratory - Researcher):

    • University of Chile (Chile) - PLEIAD

  • Duration: 2011–2013

  • See also: http://pleiad.dcc.uchile.cl/research/plomo

Project Description

Software maintenance is the process of maintaining a software system by removing bugs, fixing performance issues and adapting it to keep it useful and competitive in an ever-changing environment [32] . Performing effective software maintenance and development is best achieved with effective tool support, provided by a variety of tools, each one presenting a specific kind of information supporting the task at hand [34] . The goal of PLOMO is to develop new meta tools to improve and bring synergy in the existing infrastructure of Pharo (for software development) and the Moose software analysis platform (for software maintenance).

PLOMO will (1) enhance the Opal open compiler infrastructure to support plugin definition, (2) offer an infrastructure for change and event tracking as well as model to compose and manipulate them, (3) work on a layered library of algorithms for the Mondrian visualization engine of Moose, (4) work on new ways of profiling applications. All the efforts will be performed on Pharo and Moose, two platforms heavily used by the RMoD and PLEIAD team.

The outcomes of PLOMO will include new research advances in the field of (i) bytecode generation for dynamic language; (ii) change and event tracking; (iii) software visualization engine; (iv) agile profiling framework. These four topics are recurrently considered by the most prestigious and competitive conferences (e.g., ECOOP, OOPSLA, FSE, ESEC, ICSE, TOOLS) and journals (e.g., TSE, TOPLAS, ASE), to which the participants of the PLOMO project are used to publish.

A strong focus on publishing our results in relevant scientific forum will remain a top priority. The artifacts produced by PLOMO will strongly reinforce the Pharo programming language and the Moose software analysis platform. The development and progress of Pharo is structured by RMoD, which has successfully created a strong and dynamic community. Moose is being used to realize consulting activities and it is used as a research platform in about 10 Universities, worldwide. We expect PLOMO to have a strong impact in both the software products and the communities structured around them.

Research Visits to Chile

  • Benjamin van Ryseghem from May 28th until June 16th, 2012.

  • Damien Pollet from November 1st until November 30th, 2012.

  • Marcus Denker from November 5th until November 22nd, 2012

Recent Results

In the second year of execution of Plomo, work has focused on:

  • Rizel: a performance evolution monitor.

  • A book chapter on Roassal in the book Pharo By Example 2

  • Roassal also won the third place award in the ESUG 2012 innovation technology awards.

  • Athens, the graphic rendering engine developed by RMoD, is used by Roassal.

  • Starting of the founding process of Synectique, a company based in Lille that offers solutions based on the Moose platform. ObjectProfile offers to Synectique a dedicated support of Roassal.

  • Integration of profiling techniques into Jenkins, the continuous integration server used for Pharo. We expect to have a massive amount of profiling information.

  • Opal debugging and development continued. The bytecode backend is ready for integration in Pharo 2.0.

  • Gradualtalk: a gradually typed Smalltalk, built on Opal, has been implemented. It allows code in Pharo to be gradually and optionally typed.

  • The Announcements framework to enable change and event tracking.

  • Spec: a Framework for the Specification and Reuse of UIs and their Models. It uses the Announcements framework to enable fine-grained UI refreshes. Roassal makes use of Spec for its component

  • Work on the DIE domain-specific language and the definition of IDE plugins using it, as well as work on change prediction models are still ongoing.

Supervised PhD students

  • Vanessa Peña, PhD student Universidad de Chile. She is working on test coverage and domain specific analyses

  • Juan Pablo Sandoval, PhD student Universidad de Chile.

Companies Using our Results

  • Synectique is a company delivering dedicated software analysis. Synectique uses Roassal to visually report the analysis of customer source code. The founding process started in 2012, and is expected to be finished in 2013.

  • ObjectProfile was founded in 2011 in Chile. Its business plan is essentially focused on Pharo and Roassal. Object Profile offers support of its products to RMoD and Synectique. A number of features of Roassal have been designed to meet Synectique's requirements (e.g., the navigation and scrolling options).

Publications

  • Benjamin Van Ryseghem, Stéphane Ducasse, Johan Fabry, Spec: a Framework for the Specification and Reuse of UIs and their Models, in Proceedings of the 4th International Workshop on Smalltalk Technologies (IWST'12), Collocated with ESUG, August 2012. ACM Digital Library (To Appear). [20]

  • Juan Pablo Sandoval, Tracking Down Software Changes Responsible for Performance Loss, in Proceedings of the 4th International Workshop on Smalltalk Technologies (IWST'12), Collocated with ESUG, August 2012. ACM Digital Library (To Appear)

Participation In International Programs

Project Pequi – Inria/CNPq Brésil

The Pequi project is a collaboration between Professor Marco T. Valente's team at the Federal University of Minas Gerais in Brazil and the RMoD team. It focuses in producing Metrics, Techniques, and Tools for Software Remodularization.

It is recognized that software systems must be continuously maintained and evolved to remain useful. However, ongoing maintenance over the years contributes to degrade the quality of a system. Thus reengineering activities, including remodularization activities, are necessary to restore or enhance the maintainability of the systems. To help in the remodularization of software systems, the project will be structured in two main research lines in which both teams have experience and participation: (i) Evaluation and Characterization of Metrics for Software Remodularization; and (ii) Tools and Techniques for Removal of Architectural Violations.

The project started in July 2011 with a visit of Dr. Nicolas Anquetil to the brazilian team. The project will last 24 months.

Research Visits

  • Nicolas Anquetil, from August 6th to 11th.

  • Andre Hora, from November 26th to January 4th.

Others

We are building an ecosystem around Pharo with international research groups, universities and companies. Several research groups (such as Software Composition Group – Bern, and Pleaid – Santiago) are using Pharo. Many universities are teaching OOP using Pharo and its books. Several companies worldwide are deploying business solutions using Pharo.