Virgile Prevosto, du CEA LIST, dirige les recherches du projet européen DECODER. Il présente la plateforme DECODER comme une boîte à outils collaborative pour extraire, comprendre et vérifier les logiciels à partir de leur code source, d'approches semi-formelles et formelles. L'objectif consiste à aider les développeurs, évaluateurs, testeurs et mainteneurs à fournir des logiciels de qualité.
DECODER Project Presentation to the Advisory Board
Decoder Systematic Presentation
1. DEveloper COmpanion for Documented and annotatEd code Reference
The DECODER project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 824231.
DECODER:
une boîte à outil pour explorer, comprendre
et vérifier du logiciel
Virgile Prevosto
CEA, List
Atelier ingénierie système et logicielle - Systematic
2021-01-06
2. DEveloper COmpanion for Documented and annotatEd
code Reference
Le projet en bref
https://www.decoder-project.eu/
Début en janvier 2019, pour 3 ans
Fournir une plateforme commune pour
gérer tout type d’information relative à
une base de code donnée
Cible tous les acteurs du cycle de
développement logiciel:
développeurs
évaluateurs
mainteneurs
Cas d’étude
Méthodologie
UX
Traitement
Automatique
des Langues
Outils
d’ingénierie
logicielle
Coordination:
2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-01-06
2
3. Persistent Knowledge Monitor - PKM
Base de données pour stocker tous
les documents pertinents pour un
projet logiciel
documentation (manuels,
commentaires, BTS, ...)
spécifications formelles
code source
résultats d’analyses et de tests
évolutions (commits)
Outils alimentant la base de données
Outils interrogeant la base de
données
Schéma Json commun pour faciliter
les interactions
PKM
IDE
étendus
Générateur de
documentation
UML Eclipse
plugin
Spécifications
Formelles
TAL
Extraction
d’information
TAL
Synthèse
de spécification
Frama-C
OpenJML
Testar
2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-01-06
3
4. Architecture du PKM
Node.js
PKM cli
PKM
via TCPdriver MongoDB
PKM util PKM core
Serveur HTTP
RESTful
scripts Bash
console utilisateur JS SDK UI et outils
viahttps
API
PKM
conteneurs Docker
Serveur REST basé sur
OpenAPI
Licences AGPL et Apache
https://gitlab.ow2.
org/decoder/pkm-api
2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-01-06
4
5. Documentation et spécifications formelles
Traitement Automatique des Langues
Extraction d’information depuis des
documents informels et mise en
correspondance avec des fragments de
code (fonctions, classes,...)
Extraction d’information depuis le code et
aide à l’écriture de documentation
2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-01-06
5
6. Extraction d’information
Collecte de jeux de données
Utilisation de jeux de données existants en dehors du projet
Données d’entraînement de DeepAPI sur les correspondances entre documents en
langue naturelle et séquences d’appel
Utilisation des cas d’étude (MyThaiStar et OpenCV)
Premiers résultats
du code vers les langues naturelles
extraction de caractéristiques et catégorisation d’entités lexicales
application à la détection d’erreur de nommage d’identificateur
des langues naturelles vers le code:
Langage de programmation vu comme une langue supplémentaire
Traduction automatique neuronale
niveau de similarité entre code source et description informelle
2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-01-06
6
7. Abstract Semi-Formal Models - ASFM
ASFM
Langage graphique décrivant les effets d’une fonction sur une structure de donnée
Génération semi-automatique des diagrammes
Animation des diagrams (debugging graphique)
État courant
Première version du format disponible
Partie commune à tous les outils
Extensions spécifiques à certains outils.
Couche d’abstraction au-dessus des documents de base du PKM
Prototypes d’outils de conversion vers ASFM (doc-to-asfm) disponibles
2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-01-06
7
8. Prochaines étapes
Beta-testing du PKM
en interne
compléter l’API
Intégration d’outils supplémentaires (TAL)
Finaliser le client
en externe
Interface vers des outils existants (protocole LSP pour les IDE)
Projet https://www.reachout-project.eu/
Campagne de beta-test de doc-to-asfm en cours
Campagne de beta-test de tout le PKM fin du premier semestre 2021?
2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-01-06
8
9. Thank You!
The DECODER project has received funding from the European Union’s Horizon 2020 research and innovation programme under
grant agreement number 824231.
If you need further information, please contact the coordinator: TECHNIKON Forschungs- und Planungsgesellschaft mbH, Burgplatz
3a, 9500 Villach, AUSTRIA, Tel: +43 4242 233 55, Fax: +43 4242 233 55 77, E-Mail: coordination@DECODER.eu
The information in this document is provided “as is”, and no guarantee or warranty is given that the information is fit for any particular purpose. The content of
this document reflects only the author`s view – the European Commission is not responsible for any use that may be made of the information it contains.
The users use the information at their sole risk and liability.
Icons designed by ultimatearm, eucalyp and pixel-perfect from Flaticon
GLOBE https://www.decoder-project.eu/
@ https://www.decoder-project.eu/view/Main/Contacts
TWITTER decoderproject
LINKEDIN Decoder H2020
Slideshare DecoderProject
2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-01-06
9