SlideShare a Scribd company logo
1 of 11
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 Project Overview
Virgile Prevosto
with DECODER's partners
Paris Open Source Summit
2019-12-11
DEveloper COmpanion for Documented on annotatEd
code Reference
Persistent Knowledge Monitor
Database storing all relevant
documents for a software project
documentation (manuals,
comments, bug tracker, ...)
formal specifications
source code
analysis and testing results
and evolutions (e.g. commits)
Tools for feeding the database
Tools for querying the database
Common schema to ease interactions
PKM
Testar
Frama-C
OpenJML
Specification
synthesis
Moskitt
Documentation
generation
NLP
knowledge
formalizer
NLP
knowledge
extractor
Syntactic
analyses
Augmented
IDE
ASFMmodels
inferred
properties
analysis results
infer properties
UM
L
m
odels
Inferredproperties
M
odels, Properties
Code, documentation
raw code information
Advancedqueriesoncode
2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11
2
Encompassing the Whole Development Lifecycle
Requirements
Preliminary Design
Detailed Design
Implementation
Unit Checking
Integration Checking
System Validation
Maintenance
Evolution
NLP
spec generation
Modeling
ASFM
doc generation
IDE queries
invariant
generation
PKM
traceability
doc generation
PKM
Impact analysis
2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11
3
From Informal to Formal Documents
Natural Language Processing
Knowledge extraction from informal documents and correspondance with relevant
code pieces
Knowledge extraction from code and semi-automated documentation generation
Abstract Semi-Formal Models (ASFM)
Graphical language to describe effects of a function on the data structures involved
Semi-automated generation of ASFM diagrams
Animation of the diagrams (graphical debugging)
2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11
4
Use Cases
Evaluation and Improvement of DECODER toolset
Linux Drivers Quickly and accurately assess the quality of an external Linux driver for
inclusion in embedded systems
OpenCV Build a better knowledge of OpenCV API and its usage in some
applications
MyThaiStar UI/UX design and verification
Java Usage of Decoder toolset on selected Open Source Java projects
2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11
5
PKM Meta Model
2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11
6
PKM Server Design
Json as main interchange format
Start working on a Json Schema
Take advantage of existing
proposals:
SARIF
JCDB
Others?
Back-end: Document-oriented DB
MongoDB: licence issues
CouchDB
OrientDB: graph model used by
Testar
Others?
2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11
7
Information Extraction
Dataset Gathering
Collect existing datasets (code and documents) outside Decoder
Start looking at use cases (MyThaiStar and OpenCV)
DeepAPI training corpus for natural language/call sequences correspondance
Initial experiments
Code to NL:
features extraction and grouping tokens
NL to Code:
Consider programming language as a foreign language
Neural Machine Translation
Objective: compute semantic similarity between source code and informal description
2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11
8
Dissemination Activities
Public website at
https://decoder-project.eu
Present on LinkedIn and Twitter
Decoder poster, presented at OW2 Conf
Contact with other projects
https://openreq.eu/
https://www.chariotproject.eu/
2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11
9
Current Roadmap
Progress according to plan
PKM implementation underway
First draft of schema design finalized
Early version of MongoDB-based server taking shape
NLP and code processing have produced their first results
Use cases investigation and methodology discussions ramping up
2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11
10
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.
2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11
11

More Related Content

Similar to DECODER POSS 2019

DECODER MyThaiStar Use Case
DECODER MyThaiStar Use CaseDECODER MyThaiStar Use Case
DECODER MyThaiStar Use CaseDecoder Project
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentIJERD Editor
 
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
 
Reasons Why .NET framework is Most Demanding in 2023?
Reasons Why .NET framework is Most Demanding in 2023?Reasons Why .NET framework is Most Demanding in 2023?
Reasons Why .NET framework is Most Demanding in 2023?Polyxer Systems
 
Sagar_Ware_Resume
Sagar_Ware_ResumeSagar_Ware_Resume
Sagar_Ware_ResumeSagar Ware
 
Portable Code Compiler
Portable Code CompilerPortable Code Compiler
Portable Code Compilerijtsrd
 
INTERFACE, by apidays - Crossing the low-code and pro-code chasm: a platform...
INTERFACE, by apidays  - Crossing the low-code and pro-code chasm: a platform...INTERFACE, by apidays  - Crossing the low-code and pro-code chasm: a platform...
INTERFACE, by apidays - Crossing the low-code and pro-code chasm: a platform...apidays
 
Crossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approachCrossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approachAsanka Abeysinghe
 
Phonebook Directory or Address Book In Android
Phonebook Directory or Address Book In AndroidPhonebook Directory or Address Book In Android
Phonebook Directory or Address Book In AndroidABHISHEK DINKAR
 
Webinar on OpenAIRE Compatibility for Repositories (Greek NOAD EKT)
Webinar on OpenAIRE Compatibility for Repositories (Greek NOAD EKT) Webinar on OpenAIRE Compatibility for Repositories (Greek NOAD EKT)
Webinar on OpenAIRE Compatibility for Repositories (Greek NOAD EKT) OpenAIRE
 
Easing IoT Development for Novice Programmers Through Code Recipes
Easing IoT Development for Novice Programmers Through Code RecipesEasing IoT Development for Novice Programmers Through Code Recipes
Easing IoT Development for Novice Programmers Through Code RecipesJuan Pablo Sáenz
 
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
 
Interim Report.docx - vsiogap3d.googlecode.com
Interim Report.docx - vsiogap3d.googlecode.comInterim Report.docx - vsiogap3d.googlecode.com
Interim Report.docx - vsiogap3d.googlecode.combutest
 
Unlocking Engineering Observability with advanced IT analytics
Unlocking Engineering Observability with advanced IT analyticsUnlocking Engineering Observability with advanced IT analytics
Unlocking Engineering Observability with advanced IT analyticssource{d}
 
3rd International Conference on NLP Trends & Technologies (NLPTT 2022)
3rd International Conference on NLP Trends & Technologies (NLPTT 2022) 3rd International Conference on NLP Trends & Technologies (NLPTT 2022)
3rd International Conference on NLP Trends & Technologies (NLPTT 2022) ijcsity
 
A $5 Billion Value (Linux Foundation, 2015)
A $5 Billion Value (Linux Foundation, 2015)A $5 Billion Value (Linux Foundation, 2015)
A $5 Billion Value (Linux Foundation, 2015)Simone Aliprandi
 
Primers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code ReviewPrimers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code ReviewDelft University of Technology
 

Similar to DECODER POSS 2019 (20)

DECODER MyThaiStar Use Case
DECODER MyThaiStar Use CaseDECODER MyThaiStar Use Case
DECODER MyThaiStar Use Case
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
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
 
Reasons Why .NET framework is Most Demanding in 2023?
Reasons Why .NET framework is Most Demanding in 2023?Reasons Why .NET framework is Most Demanding in 2023?
Reasons Why .NET framework is Most Demanding in 2023?
 
Sagar_Ware_Resume
Sagar_Ware_ResumeSagar_Ware_Resume
Sagar_Ware_Resume
 
Portable Code Compiler
Portable Code CompilerPortable Code Compiler
Portable Code Compiler
 
INTERFACE, by apidays - Crossing the low-code and pro-code chasm: a platform...
INTERFACE, by apidays  - Crossing the low-code and pro-code chasm: a platform...INTERFACE, by apidays  - Crossing the low-code and pro-code chasm: a platform...
INTERFACE, by apidays - Crossing the low-code and pro-code chasm: a platform...
 
Crossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approachCrossing the low-code and pro-code chasm: a platform approach
Crossing the low-code and pro-code chasm: a platform approach
 
Phonebook Directory or Address Book In Android
Phonebook Directory or Address Book In AndroidPhonebook Directory or Address Book In Android
Phonebook Directory or Address Book In Android
 
Webinar on OpenAIRE Compatibility for Repositories (Greek NOAD EKT)
Webinar on OpenAIRE Compatibility for Repositories (Greek NOAD EKT) Webinar on OpenAIRE Compatibility for Repositories (Greek NOAD EKT)
Webinar on OpenAIRE Compatibility for Repositories (Greek NOAD EKT)
 
Easing IoT Development for Novice Programmers Through Code Recipes
Easing IoT Development for Novice Programmers Through Code RecipesEasing IoT Development for Novice Programmers Through Code Recipes
Easing IoT Development for Novice Programmers Through Code Recipes
 
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
 
David Rodriguez - davidjguru CV 2024 updated
David Rodriguez - davidjguru CV 2024 updatedDavid Rodriguez - davidjguru CV 2024 updated
David Rodriguez - davidjguru CV 2024 updated
 
Interim Report.docx - vsiogap3d.googlecode.com
Interim Report.docx - vsiogap3d.googlecode.comInterim Report.docx - vsiogap3d.googlecode.com
Interim Report.docx - vsiogap3d.googlecode.com
 
Rushabh_Doshi_1_
Rushabh_Doshi_1_Rushabh_Doshi_1_
Rushabh_Doshi_1_
 
Unlocking Engineering Observability with advanced IT analytics
Unlocking Engineering Observability with advanced IT analyticsUnlocking Engineering Observability with advanced IT analytics
Unlocking Engineering Observability with advanced IT analytics
 
3rd International Conference on NLP Trends & Technologies (NLPTT 2022)
3rd International Conference on NLP Trends & Technologies (NLPTT 2022) 3rd International Conference on NLP Trends & Technologies (NLPTT 2022)
3rd International Conference on NLP Trends & Technologies (NLPTT 2022)
 
A $5 Billion Value (Linux Foundation, 2015)
A $5 Billion Value (Linux Foundation, 2015)A $5 Billion Value (Linux Foundation, 2015)
A $5 Billion Value (Linux Foundation, 2015)
 
AUK - CV WO Ref
AUK - CV WO RefAUK - CV WO Ref
AUK - CV WO Ref
 
Primers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code ReviewPrimers or Reminders? The Effects of Existing Review Comments on Code Review
Primers or Reminders? The Effects of Existing Review Comments on Code Review
 

Recently uploaded

Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROmotivationalword821
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 

Recently uploaded (20)

Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 

DECODER POSS 2019

  • 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 Project Overview Virgile Prevosto with DECODER's partners Paris Open Source Summit 2019-12-11
  • 2. DEveloper COmpanion for Documented on annotatEd code Reference Persistent Knowledge Monitor Database storing all relevant documents for a software project documentation (manuals, comments, bug tracker, ...) formal specifications source code analysis and testing results and evolutions (e.g. commits) Tools for feeding the database Tools for querying the database Common schema to ease interactions PKM Testar Frama-C OpenJML Specification synthesis Moskitt Documentation generation NLP knowledge formalizer NLP knowledge extractor Syntactic analyses Augmented IDE ASFMmodels inferred properties analysis results infer properties UM L m odels Inferredproperties M odels, Properties Code, documentation raw code information Advancedqueriesoncode 2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11 2
  • 3. Encompassing the Whole Development Lifecycle Requirements Preliminary Design Detailed Design Implementation Unit Checking Integration Checking System Validation Maintenance Evolution NLP spec generation Modeling ASFM doc generation IDE queries invariant generation PKM traceability doc generation PKM Impact analysis 2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11 3
  • 4. From Informal to Formal Documents Natural Language Processing Knowledge extraction from informal documents and correspondance with relevant code pieces Knowledge extraction from code and semi-automated documentation generation Abstract Semi-Formal Models (ASFM) Graphical language to describe effects of a function on the data structures involved Semi-automated generation of ASFM diagrams Animation of the diagrams (graphical debugging) 2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11 4
  • 5. Use Cases Evaluation and Improvement of DECODER toolset Linux Drivers Quickly and accurately assess the quality of an external Linux driver for inclusion in embedded systems OpenCV Build a better knowledge of OpenCV API and its usage in some applications MyThaiStar UI/UX design and verification Java Usage of Decoder toolset on selected Open Source Java projects 2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11 5
  • 6. PKM Meta Model 2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11 6
  • 7. PKM Server Design Json as main interchange format Start working on a Json Schema Take advantage of existing proposals: SARIF JCDB Others? Back-end: Document-oriented DB MongoDB: licence issues CouchDB OrientDB: graph model used by Testar Others? 2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11 7
  • 8. Information Extraction Dataset Gathering Collect existing datasets (code and documents) outside Decoder Start looking at use cases (MyThaiStar and OpenCV) DeepAPI training corpus for natural language/call sequences correspondance Initial experiments Code to NL: features extraction and grouping tokens NL to Code: Consider programming language as a foreign language Neural Machine Translation Objective: compute semantic similarity between source code and informal description 2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11 8
  • 9. Dissemination Activities Public website at https://decoder-project.eu Present on LinkedIn and Twitter Decoder poster, presented at OW2 Conf Contact with other projects https://openreq.eu/ https://www.chariotproject.eu/ 2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11 9
  • 10. Current Roadmap Progress according to plan PKM implementation underway First draft of schema design finalized Early version of MongoDB-based server taking shape NLP and code processing have produced their first results Use cases investigation and methodology discussions ramping up 2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11 10
  • 11. 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. 2019 DEveloper COmpanion for Documented and annotatEd code Reference 2019-12-11 11