At Inria, several hundreds of research software programs are developed and maintained by the different teams. “These software programs - which are, by nature, collaborative and ever-changing - represent a substantial challenge in terms of quality management since they must also present codes that are robust and as functional as possible”, Hervé Mathieu, head of the Experimentation and Development department (SED) at the Bordeaux-Sud-Ouest research centre, underlines.
After having passed the milestones of versioning and continuous integration a long time ago, last April Inria equipped itself with an open source SonarQube platform, which makes it possible to test and measure the quality of the source code of an IT project. On the agenda: code analysers, report generation tools, fault detection modules, a Time Machine and a plug-in mechanism enabling the implementation of other functionalities. “The main 'plus point' of SonarQube is that it offers the possibility of 'tracking' a project's quality throughout its duration and, as a result, put in place a continuous control strategy - which enables the rapid identification of areas for improvement”, Christophe Demarey, engineer at the Lille centre SED, adds.
The challenge: to reduce the projects' technical debt
The choice of SonarQube is no accident. “It is quite a unique software program on the market and 'the' benchmark with regard to continuous quality control. Personally, I have been using it for a long time, as part of the work of the Diverse team(software engineering) to which I belong, adds Didier Vojtisek, engineer in the SED at the Rennes centre. Our colleagues in Lille also use it from time to time. However neither they nor we had implemented it for systematic use.”
What finally acted as a trigger was an external speech during a meeting of SED engineers from the different Inria research centres. “That day, we attended a presentation focussing on the concept of technical debt linked to any IT development and on the tools that enable a reduction in this debt”, Hervé Mathieu explains. It was upon leaving this meeting that the Bordeaux SED began to take a close interest in the opportunities offered by SonarQube and to embark on a series of experiments; work carried out by Florent Pruvost and Guillaume Cassonnet in particular.
1+1 = 2, 2+1 = 3
At the same time, the Lille and Rennes centres decided to share their thoughts in order to envisage the integration of a SonarQube platform that could be used for multiple projects... “After some time, we wanted to go further and so we contacted Inria's Information Systems department to obtain specific resources, Christophe Demarey adds. And that is when we learned that the Bordeaux centre had made the same request shortly before.”
It all then went very quickly: the three centres decided to unite their efforts despite differing points of view on certain points - in particular on the issues of security and confidentiality - eventually deciding to entrust the development of the tool to the Bordeaux research centre.
Towards a large-scale deployment
Nine months after its roll-out, Inria's SonarQube platform has 85 user accounts and 62 registered projects. “It's a good start, Didier Vojtisek confirms. Even if, logically, there are still things to improve - particularly with regard to taking into account certain exotic languages or the registration of 'private' projects - we are convinced that this tool will popularise the technical debt approach.”
The SEDs at the different centres have been tasked with helping the research teams to become familiar with the tool. For the time being, Bordeaux still manages the platform, however next year this should be transferred to Inria's Information Systems department (DSI), whilst each centre will have a SonarQube contact person. “The feedback given to us by some users us is very encouraging, however we want more and more teams to adopt this approach, as we are convinced that SonarQube can be a sizeable asset for 'home-made' software - particularly with a view to a potential transfer to industry”, Hervé Mathieu continues.
Creativity and a sense of teamwork
As this shared adventure comes to an end, the three engineers are proud of the work they have accomplished together: “It is very rewarding to combine experiences and reflections on projects that lead to a service that is useful for the whole institute”, Christophe Demarey concludes. As far as the Inria award is concerned, they all agree that it represents recognition for the creativity and sense of initiative shown by SED collaborators on a daily basis. “A researcher pushes the limits of knowledge and publishes. Engineers, for their part, solve concrete problems and produce. In the end, these are two very complementary professions that would not exist without the other!” adds Hervé Mathieu in conclusion.