SlideShare a Scribd company logo

Decoder Fosdem 2021

A DECODER Project presentation offered by Virgile Prevosto at FOSDEM 2021, on Saturday, 6 February, 2021.

1 of 9
Download to read offline
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:
a toolbox for exploring, understanding and
verifying software
Virgile Prevosto
CEA, List
FOSDEM'21
2021-02-06
DEveloper COmpanion for Documented and annotatEd
code Reference
Project at a glance
I https://www.decoder-project.eu/
I Started in January 2019, for 36 months
I Provide a unified platform for
managing all kinds of information on a
given codebase.
I Target all stakeholders in software
development life cycle:
I developers
I reviewers
I maintainers
Use-cases
Methodology
UX
Natural
Language
Processing
Software
Engineering
Tools
Coordination:
2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-02-06
2
Persistent Knowledge Monitor - PKM
I Database storing all relevant
documents for a software project
I documentation (manuals,
comments, bug tracker, ...)
I formal specifications
I source code
I analysis and testing results
I and evolutions (e.g. commits)
I Tools for feeding the database
I Tools for querying the database
I Common Json schema to ease
interactions
PKM
Augmented
IDE
Documentation
Generator
UML Eclipse
plugin
NLP
Knowledge
Formalizer
NLP
Knowledge
Extractor
Specification
Synthesis
Frama-C
OpenJML
Testar
Tool
2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-02-06
3
PKM Architecture
Node.js
PKM cli
PKM
over TCP
MongoDB driver
PKM util PKM core
PKM RESTful
HTTP server
Bash scripts
User’s console JS SDK UI and tools
over
https
PKM
API
I Use docker containers
I REST server uses
OpenAPI
I AGPL and Apache
licenses
I https://gitlab.ow2.
org/decoder/pkm-api
2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-02-06
4
Informal documents and Formal Specification
Natural Language Processing
I Knowledge extraction from informal
documents and correspondance with
relevant code pieces
I Knowledge extraction from code and
semi-automated documentation
generation
2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-02-06
5
Information Extraction
Dataset Gathering
I Collect existing datasets (code and documents) outside Decoder
I DeepAPI training corpus for natural language/call sequences correspondance
I Also consider use cases (MyThaiStar and OpenCV)
Initial experiments
I Code to NL:
I Features extraction and grouping tokens
I Application to the detection of identifier mismatch (either in code or in comments)
I NL to Code:
I Consider programming language as a foreign language
I Neural Machine Translation
I Compute semantic similarity between source code and informal description
2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-02-06
6

Recommended

Combining formal and machine learning techniques for the generation of JML sp...
Combining formal and machine learning techniques for the generation of JML sp...Combining formal and machine learning techniques for the generation of JML sp...
Combining formal and machine learning techniques for the generation of JML sp...Decoder Project
 
SFScon21 - Virgile Prevosto - DECODER Platform to speed up software developme...
SFScon21 - Virgile Prevosto - DECODER Platform to speed up software developme...SFScon21 - Virgile Prevosto - DECODER Platform to speed up software developme...
SFScon21 - Virgile Prevosto - DECODER Platform to speed up software developme...South Tyrol Free Software Conference
 
DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020
DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020
DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020OW2
 
DECODER Project Presentation to the Advisory Board
DECODER Project Presentation to the Advisory BoardDECODER Project Presentation to the Advisory Board
DECODER Project Presentation to the Advisory BoardDecoder Project
 
Profes'19 Software Knowledge Representation
Profes'19 Software Knowledge RepresentationProfes'19 Software Knowledge Representation
Profes'19 Software Knowledge RepresentationDecoder Project
 
SFScon21 - Max Mehl - REUSE - Gold standard for Free Software licensing
SFScon21 - Max Mehl - REUSE - Gold standard for Free Software licensingSFScon21 - Max Mehl - REUSE - Gold standard for Free Software licensing
SFScon21 - Max Mehl - REUSE - Gold standard for Free Software licensingSouth Tyrol Free Software Conference
 
Decoder project overview
Decoder project overviewDecoder project overview
Decoder project overviewDecoder Project
 

More Related Content

Similar to Decoder Fosdem 2021

DECODER MyThaiStar Use Case
DECODER MyThaiStar Use CaseDECODER MyThaiStar Use Case
DECODER MyThaiStar Use CaseDecoder Project
 
Decoder Open Research Webinar
Decoder Open Research WebinarDecoder Open Research Webinar
Decoder Open Research WebinarDecoder Project
 
Comparison of ESP programming platforms
Comparison of ESP programming platformsComparison of ESP programming platforms
Comparison of ESP programming platformsCSITiaesprime
 
EUDAT Webinar "Organise, retrieve and aggregate data using annotations with B...
EUDAT Webinar "Organise, retrieve and aggregate data using annotations with B...EUDAT Webinar "Organise, retrieve and aggregate data using annotations with B...
EUDAT Webinar "Organise, retrieve and aggregate data using annotations with B...EUDAT
 
2. EOSC-hub (Daan Broeder, CLARIN ERIC)
2. EOSC-hub (Daan Broeder, CLARIN ERIC)2. EOSC-hub (Daan Broeder, CLARIN ERIC)
2. EOSC-hub (Daan Broeder, CLARIN ERIC)SSHOC
 
Overview of the Sustainability Plans of the ICT-29b) Projects
Overview of the Sustainability Plans of the ICT-29b) ProjectsOverview of the Sustainability Plans of the ICT-29b) Projects
Overview of the Sustainability Plans of the ICT-29b) ProjectsPretaLLOD
 
10th International Conference on Software Engineering and Applications (SEAPP...
10th International Conference on Software Engineering and Applications (SEAPP...10th International Conference on Software Engineering and Applications (SEAPP...
10th International Conference on Software Engineering and Applications (SEAPP...ijcseit
 
2_ProgrammingOnAndroidDevice.pdf
2_ProgrammingOnAndroidDevice.pdf2_ProgrammingOnAndroidDevice.pdf
2_ProgrammingOnAndroidDevice.pdfKUMKUMOKUSSIA
 
BDV Webinar Series - Lara - Deep Learning for Everybody
BDV Webinar Series - Lara - Deep Learning for EverybodyBDV Webinar Series - Lara - Deep Learning for Everybody
BDV Webinar Series - Lara - Deep Learning for EverybodyBig Data Value Association
 
10th International Conference on Natural Language Processing (NLP 2021)
 10th International Conference on Natural Language Processing (NLP 2021) 10th International Conference on Natural Language Processing (NLP 2021)
10th International Conference on Natural Language Processing (NLP 2021)aciijournal
 
Software Tools for Building Industry 4.0 Applications
Software Tools for Building Industry 4.0 ApplicationsSoftware Tools for Building Industry 4.0 Applications
Software Tools for Building Industry 4.0 ApplicationsPankesh Patel
 
QURATOR: A Flexible AI Platform for the Adaptive Analysis and Creative Genera...
QURATOR: A Flexible AI Platform for the Adaptive Analysis and Creative Genera...QURATOR: A Flexible AI Platform for the Adaptive Analysis and Creative Genera...
QURATOR: A Flexible AI Platform for the Adaptive Analysis and Creative Genera...Georg Rehm
 
International Conference on NLP & Text Mining (NLTM 2021)
International Conference on NLP & Text Mining (NLTM 2021)International Conference on NLP & Text Mining (NLTM 2021)
International Conference on NLP & Text Mining (NLTM 2021)ijujournal
 
SSHOC Dataverse in the European Open Science Cloud
SSHOC Dataverse in the European Open Science CloudSSHOC Dataverse in the European Open Science Cloud
SSHOC Dataverse in the European Open Science Cloudvty
 
LoCloud Annual Publishable Summary 2014-15
LoCloud Annual Publishable Summary 2014-15LoCloud Annual Publishable Summary 2014-15
LoCloud Annual Publishable Summary 2014-15locloud
 
Summer school bz_fp7research_20100708
Summer school bz_fp7research_20100708Summer school bz_fp7research_20100708
Summer school bz_fp7research_20100708Sandro D'Elia
 

Similar to Decoder Fosdem 2021 (20)

Profes'19 Decoder
Profes'19 DecoderProfes'19 Decoder
Profes'19 Decoder
 
DECODER MyThaiStar Use Case
DECODER MyThaiStar Use CaseDECODER MyThaiStar Use Case
DECODER MyThaiStar Use Case
 
Decoder Open Research Webinar
Decoder Open Research WebinarDecoder Open Research Webinar
Decoder Open Research Webinar
 
Comparison of ESP programming platforms
Comparison of ESP programming platformsComparison of ESP programming platforms
Comparison of ESP programming platforms
 
EUDAT Webinar "Organise, retrieve and aggregate data using annotations with B...
EUDAT Webinar "Organise, retrieve and aggregate data using annotations with B...EUDAT Webinar "Organise, retrieve and aggregate data using annotations with B...
EUDAT Webinar "Organise, retrieve and aggregate data using annotations with B...
 
2. EOSC-hub (Daan Broeder, CLARIN ERIC)
2. EOSC-hub (Daan Broeder, CLARIN ERIC)2. EOSC-hub (Daan Broeder, CLARIN ERIC)
2. EOSC-hub (Daan Broeder, CLARIN ERIC)
 
Overview of the Sustainability Plans of the ICT-29b) Projects
Overview of the Sustainability Plans of the ICT-29b) ProjectsOverview of the Sustainability Plans of the ICT-29b) Projects
Overview of the Sustainability Plans of the ICT-29b) Projects
 
10th International Conference on Software Engineering and Applications (SEAPP...
10th International Conference on Software Engineering and Applications (SEAPP...10th International Conference on Software Engineering and Applications (SEAPP...
10th International Conference on Software Engineering and Applications (SEAPP...
 
2_ProgrammingOnAndroidDevice.pdf
2_ProgrammingOnAndroidDevice.pdf2_ProgrammingOnAndroidDevice.pdf
2_ProgrammingOnAndroidDevice.pdf
 
BDV Webinar Series - Lara - Deep Learning for Everybody
BDV Webinar Series - Lara - Deep Learning for EverybodyBDV Webinar Series - Lara - Deep Learning for Everybody
BDV Webinar Series - Lara - Deep Learning for Everybody
 
10th International Conference on Natural Language Processing (NLP 2021)
 10th International Conference on Natural Language Processing (NLP 2021) 10th International Conference on Natural Language Processing (NLP 2021)
10th International Conference on Natural Language Processing (NLP 2021)
 
Software Tools for Building Industry 4.0 Applications
Software Tools for Building Industry 4.0 ApplicationsSoftware Tools for Building Industry 4.0 Applications
Software Tools for Building Industry 4.0 Applications
 
OCRE in a Nutshell - Cloud funding call 15 September 2020
OCRE in a Nutshell - Cloud funding call 15 September 2020OCRE in a Nutshell - Cloud funding call 15 September 2020
OCRE in a Nutshell - Cloud funding call 15 September 2020
 
QURATOR: A Flexible AI Platform for the Adaptive Analysis and Creative Genera...
QURATOR: A Flexible AI Platform for the Adaptive Analysis and Creative Genera...QURATOR: A Flexible AI Platform for the Adaptive Analysis and Creative Genera...
QURATOR: A Flexible AI Platform for the Adaptive Analysis and Creative Genera...
 
International Conference on NLP & Text Mining (NLTM 2021)
International Conference on NLP & Text Mining (NLTM 2021)International Conference on NLP & Text Mining (NLTM 2021)
International Conference on NLP & Text Mining (NLTM 2021)
 
Arcadia project overview
Arcadia project overview Arcadia project overview
Arcadia project overview
 
SSHOC Dataverse in the European Open Science Cloud
SSHOC Dataverse in the European Open Science CloudSSHOC Dataverse in the European Open Science Cloud
SSHOC Dataverse in the European Open Science Cloud
 
LoCloud Annual Publishable Summary 2014-15
LoCloud Annual Publishable Summary 2014-15LoCloud Annual Publishable Summary 2014-15
LoCloud Annual Publishable Summary 2014-15
 
Summer school bz_fp7research_20100708
Summer school bz_fp7research_20100708Summer school bz_fp7research_20100708
Summer school bz_fp7research_20100708
 
Deep Hybrid DataCloud
Deep Hybrid DataCloudDeep Hybrid DataCloud
Deep Hybrid DataCloud
 

Recently uploaded

Boosting Developer Effectiveness with a Java platform team 1.4 - ArnhemJUG
Boosting Developer Effectiveness with a Java platform team 1.4 - ArnhemJUGBoosting Developer Effectiveness with a Java platform team 1.4 - ArnhemJUG
Boosting Developer Effectiveness with a Java platform team 1.4 - ArnhemJUGRick Ossendrijver
 
What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...
What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...
What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...ShapeBlue
 
Key projects in AI, ML and Generative AI
Key projects in AI, ML and Generative AIKey projects in AI, ML and Generative AI
Key projects in AI, ML and Generative AIVijayananda Mohire
 
New ThousandEyes Product Features and Release Highlights: February 2024
New ThousandEyes Product Features and Release Highlights: February 2024New ThousandEyes Product Features and Release Highlights: February 2024
New ThousandEyes Product Features and Release Highlights: February 2024ThousandEyes
 
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlueCloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlueShapeBlue
 
Trading Software Development_ Trends to Watch in 2024.pdf
Trading Software Development_ Trends to Watch in 2024.pdfTrading Software Development_ Trends to Watch in 2024.pdf
Trading Software Development_ Trends to Watch in 2024.pdfLucas Lagone
 
Transcript: Trending now: Book subjects on the move in the Canadian market - ...
Transcript: Trending now: Book subjects on the move in the Canadian market - ...Transcript: Trending now: Book subjects on the move in the Canadian market - ...
Transcript: Trending now: Book subjects on the move in the Canadian market - ...BookNet Canada
 
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)Jay Zhao
 
Centralized TLS Certificates Management Using Vault PKI + Cert-Manager
Centralized TLS Certificates Management Using Vault PKI + Cert-ManagerCentralized TLS Certificates Management Using Vault PKI + Cert-Manager
Centralized TLS Certificates Management Using Vault PKI + Cert-ManagerSaiLinnThu2
 
National Institute of Standards and Technology (NIST) Cybersecurity Framework...
National Institute of Standards and Technology (NIST) Cybersecurity Framework...National Institute of Standards and Technology (NIST) Cybersecurity Framework...
National Institute of Standards and Technology (NIST) Cybersecurity Framework...MichaelBenis1
 
MuleSoft Online Meetup Group - B2B Crash Course: PM Insider Lecture
MuleSoft Online Meetup Group - B2B Crash Course: PM Insider LectureMuleSoft Online Meetup Group - B2B Crash Course: PM Insider Lecture
MuleSoft Online Meetup Group - B2B Crash Course: PM Insider LectureManik S Magar
 
Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)
Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)
Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)François
 
Why Disability Justice should be at the core of your digital accessibility jo...
Why Disability Justice should be at the core of your digital accessibility jo...Why Disability Justice should be at the core of your digital accessibility jo...
Why Disability Justice should be at the core of your digital accessibility jo...Modality Co
 
ChatGPT's Code Interpreter: Your secret weapon for SEO automation success - S...
ChatGPT's Code Interpreter: Your secret weapon for SEO automation success - S...ChatGPT's Code Interpreter: Your secret weapon for SEO automation success - S...
ChatGPT's Code Interpreter: Your secret weapon for SEO automation success - S...SearchNorwich
 
iOncologi_Pitch Deck_2024 slide show for hostinger
iOncologi_Pitch Deck_2024 slide show for hostingeriOncologi_Pitch Deck_2024 slide show for hostinger
iOncologi_Pitch Deck_2024 slide show for hostingerssuser9354ce
 
TrustArc Webinar - TrustArc's Latest AI Innovations
TrustArc Webinar - TrustArc's Latest AI InnovationsTrustArc Webinar - TrustArc's Latest AI Innovations
TrustArc Webinar - TrustArc's Latest AI InnovationsTrustArc
 
Microsoft x 2toLead Webinar Session 2 - How Employee Learning and Development...
Microsoft x 2toLead Webinar Session 2 - How Employee Learning and Development...Microsoft x 2toLead Webinar Session 2 - How Employee Learning and Development...
Microsoft x 2toLead Webinar Session 2 - How Employee Learning and Development...2toLead Limited
 
GDG Cloud Southlake 30 Brian Demers Breeding 10x Developers with Developer Pr...
GDG Cloud Southlake 30 Brian Demers Breeding 10x Developers with Developer Pr...GDG Cloud Southlake 30 Brian Demers Breeding 10x Developers with Developer Pr...
GDG Cloud Southlake 30 Brian Demers Breeding 10x Developers with Developer Pr...James Anderson
 
Mastering Play Store App Listing and Optimization
Mastering Play Store App Listing and OptimizationMastering Play Store App Listing and Optimization
Mastering Play Store App Listing and OptimizationAppsthentic Technology
 

Recently uploaded (20)

Boosting Developer Effectiveness with a Java platform team 1.4 - ArnhemJUG
Boosting Developer Effectiveness with a Java platform team 1.4 - ArnhemJUGBoosting Developer Effectiveness with a Java platform team 1.4 - ArnhemJUG
Boosting Developer Effectiveness with a Java platform team 1.4 - ArnhemJUG
 
What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...
What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...
What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...
 
Key projects in AI, ML and Generative AI
Key projects in AI, ML and Generative AIKey projects in AI, ML and Generative AI
Key projects in AI, ML and Generative AI
 
New ThousandEyes Product Features and Release Highlights: February 2024
New ThousandEyes Product Features and Release Highlights: February 2024New ThousandEyes Product Features and Release Highlights: February 2024
New ThousandEyes Product Features and Release Highlights: February 2024
 
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlueCloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
 
Trading Software Development_ Trends to Watch in 2024.pdf
Trading Software Development_ Trends to Watch in 2024.pdfTrading Software Development_ Trends to Watch in 2024.pdf
Trading Software Development_ Trends to Watch in 2024.pdf
 
Transcript: Trending now: Book subjects on the move in the Canadian market - ...
Transcript: Trending now: Book subjects on the move in the Canadian market - ...Transcript: Trending now: Book subjects on the move in the Canadian market - ...
Transcript: Trending now: Book subjects on the move in the Canadian market - ...
 
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
Leonis Insights: The State of AI (7 trends for 2023 and 7 predictions for 2024)
 
Centralized TLS Certificates Management Using Vault PKI + Cert-Manager
Centralized TLS Certificates Management Using Vault PKI + Cert-ManagerCentralized TLS Certificates Management Using Vault PKI + Cert-Manager
Centralized TLS Certificates Management Using Vault PKI + Cert-Manager
 
National Institute of Standards and Technology (NIST) Cybersecurity Framework...
National Institute of Standards and Technology (NIST) Cybersecurity Framework...National Institute of Standards and Technology (NIST) Cybersecurity Framework...
National Institute of Standards and Technology (NIST) Cybersecurity Framework...
 
MuleSoft Online Meetup Group - B2B Crash Course: PM Insider Lecture
MuleSoft Online Meetup Group - B2B Crash Course: PM Insider LectureMuleSoft Online Meetup Group - B2B Crash Course: PM Insider Lecture
MuleSoft Online Meetup Group - B2B Crash Course: PM Insider Lecture
 
Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)
Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)
Mind your App Footprint 🐾⚡️🌱 (@FlutterHeroes 2024)
 
Why Disability Justice should be at the core of your digital accessibility jo...
Why Disability Justice should be at the core of your digital accessibility jo...Why Disability Justice should be at the core of your digital accessibility jo...
Why Disability Justice should be at the core of your digital accessibility jo...
 
ChatGPT's Code Interpreter: Your secret weapon for SEO automation success - S...
ChatGPT's Code Interpreter: Your secret weapon for SEO automation success - S...ChatGPT's Code Interpreter: Your secret weapon for SEO automation success - S...
ChatGPT's Code Interpreter: Your secret weapon for SEO automation success - S...
 
iOncologi_Pitch Deck_2024 slide show for hostinger
iOncologi_Pitch Deck_2024 slide show for hostingeriOncologi_Pitch Deck_2024 slide show for hostinger
iOncologi_Pitch Deck_2024 slide show for hostinger
 
Sue Loth: Job Search Strategies using personal connections
Sue Loth: Job Search Strategies using personal connectionsSue Loth: Job Search Strategies using personal connections
Sue Loth: Job Search Strategies using personal connections
 
TrustArc Webinar - TrustArc's Latest AI Innovations
TrustArc Webinar - TrustArc's Latest AI InnovationsTrustArc Webinar - TrustArc's Latest AI Innovations
TrustArc Webinar - TrustArc's Latest AI Innovations
 
Microsoft x 2toLead Webinar Session 2 - How Employee Learning and Development...
Microsoft x 2toLead Webinar Session 2 - How Employee Learning and Development...Microsoft x 2toLead Webinar Session 2 - How Employee Learning and Development...
Microsoft x 2toLead Webinar Session 2 - How Employee Learning and Development...
 
GDG Cloud Southlake 30 Brian Demers Breeding 10x Developers with Developer Pr...
GDG Cloud Southlake 30 Brian Demers Breeding 10x Developers with Developer Pr...GDG Cloud Southlake 30 Brian Demers Breeding 10x Developers with Developer Pr...
GDG Cloud Southlake 30 Brian Demers Breeding 10x Developers with Developer Pr...
 
Mastering Play Store App Listing and Optimization
Mastering Play Store App Listing and OptimizationMastering Play Store App Listing and Optimization
Mastering Play Store App Listing and Optimization
 

Decoder Fosdem 2021

  • 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: a toolbox for exploring, understanding and verifying software Virgile Prevosto CEA, List FOSDEM'21 2021-02-06
  • 2. DEveloper COmpanion for Documented and annotatEd code Reference Project at a glance I https://www.decoder-project.eu/ I Started in January 2019, for 36 months I Provide a unified platform for managing all kinds of information on a given codebase. I Target all stakeholders in software development life cycle: I developers I reviewers I maintainers Use-cases Methodology UX Natural Language Processing Software Engineering Tools Coordination: 2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-02-06 2
  • 3. Persistent Knowledge Monitor - PKM I Database storing all relevant documents for a software project I documentation (manuals, comments, bug tracker, ...) I formal specifications I source code I analysis and testing results I and evolutions (e.g. commits) I Tools for feeding the database I Tools for querying the database I Common Json schema to ease interactions PKM Augmented IDE Documentation Generator UML Eclipse plugin NLP Knowledge Formalizer NLP Knowledge Extractor Specification Synthesis Frama-C OpenJML Testar Tool 2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-02-06 3
  • 4. PKM Architecture Node.js PKM cli PKM over TCP MongoDB driver PKM util PKM core PKM RESTful HTTP server Bash scripts User’s console JS SDK UI and tools over https PKM API I Use docker containers I REST server uses OpenAPI I AGPL and Apache licenses I https://gitlab.ow2. org/decoder/pkm-api 2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-02-06 4
  • 5. Informal documents and Formal Specification Natural Language Processing I Knowledge extraction from informal documents and correspondance with relevant code pieces I Knowledge extraction from code and semi-automated documentation generation 2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-02-06 5
  • 6. Information Extraction Dataset Gathering I Collect existing datasets (code and documents) outside Decoder I DeepAPI training corpus for natural language/call sequences correspondance I Also consider use cases (MyThaiStar and OpenCV) Initial experiments I Code to NL: I Features extraction and grouping tokens I Application to the detection of identifier mismatch (either in code or in comments) I NL to Code: I Consider programming language as a foreign language I Neural Machine Translation I Compute semantic similarity between source code and informal description 2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-02-06 6
  • 7. Abstract Semi-Formal Models At a glance I Graphical language to describe effects of a function on the data structures involved I Semi-automated generation of ASFM diagrams I Animation of the diagrams (graphical debugging) Current status I Initial version available I Common part understood by all tools I Extensible with tool-specific content I Provide an abstraction layer on top of PKM’s lower-level documents I Conversion tools to ASFM (doc-to-asfm) available as prototypes 2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-02-06 7
  • 8. Next steps Beta-testing PKM Server I Internally I Add functionalities to the API I Integrate more tools (NLP) I Develop client I Externally I Interface with existing tools I Use https://www.reachout-project.eu/ I first beta campaign on doc-to-asfm for the end of the year I beta-campaign for the whole PKM stack in 2021 2021 DEveloper COmpanion for Documented and annotatEd code Reference 2021-02-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-02-06 9