Armand Puccetti, CEA List Research Engineer

Developers have to drive through the complexity of software source code

How would you present DECODER?

DECODER will help software engineers to organize, verify and handle their code. Existing code does often have the problem of huge amounts of informal or semi-formal information hard to trace to the software functions. This is essential for developing for regulated, safety-critical industries, like automotive or avionics. However, all other software projects will benefit from reducing the efforts that need to be spend in these fields. The tools developed in DECODER have the potential to help developers managing the complexity of source code, as well as the complexity of artefacts, such as requirements, diagrams, designs, documentation and test results. Leveraging the information stored in this informal or semi-formal documents is one key goal of DECODER.

Where do you see the most significant progress so far in DECODER?

DECODER is a project that innovates by integrating Machine Learning techniques into a software development process since the early stages. ML allows to take advantage of its automatic capabilities to understand informal requirements and turn it into semi-formal and then formal specifications, which are then much less ambiguous and usable for the different stakeholders of a software development process (developers, reviewers, customers, maintainers, etc.). In the 80’s engineers already used Expert Systems to model the knowledge of a given domain by eliciting and modeling specialists informal knowledge. Today, we perform a leap forward by using ML on any sufficiently verbose and clear text to extract meaningful specifications. Our approach remains semi-formal.
The key technologies developed by DECODER are the different tools needed along a development process (ML, formal specification and proof, process engine, summarization and a CASE tool).

What is your role in DECODER?

My role was initially to write the proposal, together with colleagues Franck Vedrine and Basile Starynkevitch, Then, once notified positively, I led work package 1 devoted to build a Knowledge Base (architecture, design and early development) and now I guide the tools integration process to develop an integrated CASE tool that can be demonstrated at different occasions (such as project reviews).

Where do you see the most significant technical and/or business impacts?

The technical knowledge leveraged here is the combination of several techniques into a common knowledge flow. Informal data is transformed progressively into tentative predicates, annotations are generated from code, predicates are refined and combined with higher-level predicates, and then analyzed and put into correspondence with the code, models are used throughout the process.
The impact on business is to let ML help developers and maintainers to produce better code that is easier (and cheaper) to maintain as it is delivered with its related artefacts. After all, project is the result of the transformation of knowledge into code.

A word about yourself and your organization

I am working since 20 years in the Software Safety and Security Lab. (LSL) of CEA. LSL is a group of 40 researchers working on various tools and topics mostly bound to Formal Methods, with the objective of building tools that can be employed in Industry. Tools address programming languages (C, C++, Java, Python, PLC, etc.), Proofs, Simplification, SMT solvers, Specification languages, etc. I am involved in several European research projects. My research interests include formal methods for software and hardware description languages, semantics of programming languages, theorem provers, compilers and event-based simulation techniques.
Before moving to CEA LIST in 2000, I was employed as a Project Manager at C-S, a privately owned software house where I participated to software development and applied research projects, ranging from CASE tools and compiler development to military simulation tools and methods. I was graduated from INPL ( where I earned a PhD in 1987.