This is an outdated version published on March 14, 2022. Read the most recent version.

An open-source natural language processing toolkit to support software development: addressing automatic bug detection, code summarisation and code search

List of Authors

  1. Cristian Robledo ,  
  2. Francesca Sallicati ,  
  3. Gaël de Chalendar
    ,  
  4. Marcos Fernández
    ,  
  5. Pablo de Castro ,  
  6. Eduardo Martín
    ,  
  7. Javier Gutiérrez
    ,  
  8. Yannis Bouachera
Article Authors & roles Authors Peer review record Peer review Metrics
Cite

Abstract

This paper aims to introduce the innovative work carried out in the Horizon 2020 DECODER project – acronym for “DEveloper COmpanion for Documented and annotatEd code Reference” – (Grant Agreement no. 824231) by linking the fields of natural language processing (NLP) and software engineering.

The project as a whole addresses the development of a framework, namely the Persistent Knowledge Monitor (PKM), that acts as a central infrastructure to store, access, and trace all the data, information and knowledge related to a given software or ecosystem. This meta-model defines the knowledge base that can be queried and analysed by all the tools integrated and developed in DECODER. Besides, the DECODER project offers a friendly user interface where each of the predefined three roles (i.e., developers, maintainers and reviewers) can access and query the PKM with their personal accounts.

The paper focuses on the NLP tools developed and integrated in the PKM, namely the deep learning models developed to perform variable misuse, code summarisation and semantic parsing. These were developed under a common work package – “Activities for the developer” – intended to precisely target developers, who can perform tasks such as detection of bugs, automatic generation of documentation for source code and generation of code snippets from natural languages instructions, among the multiple functionalities that DECODER offers. These tools assist and help the developers in the daily work, by increasing their productivity and avoiding loss of time in tedious tasks such as manual bug detection.

Training and validation were conducted for four use cases in Java, C and C++ programming languages in order to evaluate the performance, suitability, usability, etc. of the developed tools.

Corresponding author
Cristian Robledo
0000-0002-1017-670X
Grant information

This research was financially supported by the European Union’s Horizon 2020 research and innovation programme under the grant agreement No 824231 (DEveloper COmpanion for Documented and annotatEd code Reference [DECODER]).

Copyright
© 2022 Cristian Robledo (Corresponding Author, Co-Author); Francesca Sallicati (Co-Author); Gaël de Chalendar (Co-Author); Marcos Fernández (Co-Author); Pablo de Castro (Co-Author); Eduardo Martín (Co-Author); Javier Gutiérrez (Co-Author); Yannis Bouachera (Co-Author) Creative Commons License

This work is licensed under a Creative Commons Attribution 4.0 International License.

First version published
Latest version published

Comments

Authors & roles

Cristian Robledo

Tree Technology, Llanera, Asturias, Spain

Roles
Corresponding Author, Co-Author, Investigation, Methodology
0000-0002-1017-670X

Francesca Sallicati

Tree Technology, Llanera, Asturias, Spain

Roles
Co-Author, Investigation, Methodology
0000-0001-9981-8360

Gaël de Chalendar

CEA, Paris, Île-de-France, France

Roles
Co-Author, Investigation, Methodology

Marcos Fernández

Tree Technology, Llanera, Asturias, Spain

Roles
Co-Author, Investigation, Methodology

Pablo de Castro

Tree Technology, Llanera, Asturias, Spain

Roles
Co-Author, Software
0000-0002-4828-6568

Eduardo Martín

Tree Technology, Llanera, Asturias, Spain

Roles
Co-Author, Software

Javier Gutiérrez

Tree Technology, Llanera, Asturias, Spain

Roles
Co-Author, Project Administration, Supervision

Yannis Bouachera

CEA, Paris, Île-de-France, France

Roles
Co-Author, Investigation, Methodology

Downloads over the last 12 months:

Cited by

via Crossref

View citing articles