SlideShare a Scribd company logo
Open Research Webinars
DECODER:
a new DevOps toolbox for software
code exploration and analysis
Virgile Prevosto
CEA, List
Eclipse-OW2 Webinar
2021-03-04
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:
DEveloper COmpanion for Documented and annotatEd code
Reference
Open Research Webinars - page 2
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
Modeler
NLP
Knowledge
Formalizer
NLP
Knowledge
Extractor
Specification
Synthesis
Frama-C
OpenJML
Testar
Tool
Persistent Knowledge Monitor - PKM
Open Research Webinars - page 3
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
PKM Architecture
Open Research Webinars - page 4
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
Informal documents and Formal Specification
Open Research Webinars - page 5
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 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
Abstract Semi-Formal Models
Open Research Webinars - page 6
I browser-based
I under heavy development
I basic support for the main tools
feeding the PKM
Decoder Front-end
Open Research Webinars - page 7
Beta-testing PKM Server
I Internally
I Add functionalities to the API
I Integrate more tools (NLP)
I Continue client development
I Externally
I Interface with existing tools (e.g. )
I Export standard queries (e.g. LSP) where possible
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
Next steps
Open Research Webinars - page 8
Contacts
GLOBE https://www.decoder-project.eu/
@ https://www.decoder-project.eu/view/Main/Contacts
TWITTER decoderproject
LINKEDIN Decoder H2020
Slideshare DecoderProject
Acknowledgments
The DECODER project has received funding from the European Union’s Horizon 2020 research
and innovation programme under grant agreement No 824231.
Icons designed by ultimatearm, eucalyp and pixel-perfect from Flaticon
Open Research Webinars - page 9

More Related Content

Similar to Decoder Open Research Webinar

A knowledge-workbench-for-software-development
A knowledge-workbench-for-software-developmentA knowledge-workbench-for-software-development
A knowledge-workbench-for-software-development
Dimitris Panagiotou
 
Developing With Openbravo Rl Eppt
Developing With Openbravo Rl EpptDeveloping With Openbravo Rl Eppt
Developing With Openbravo Rl Eppt
vobree
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com Jenkins
Aécio Pires
 
Biocatalogue, FileQuirks, MyExperiment
Biocatalogue, FileQuirks, MyExperimentBiocatalogue, FileQuirks, MyExperiment
Biocatalogue, FileQuirks, MyExperiment
Jerzy
 
compiler construction tool in computer science .
compiler construction tool in computer science .compiler construction tool in computer science .
compiler construction tool in computer science .
RanitHalder
 
RESUME-WilliamAVisnich-April 2015
RESUME-WilliamAVisnich-April 2015RESUME-WilliamAVisnich-April 2015
RESUME-WilliamAVisnich-April 2015
William Visnich
 
What is the Secure Supply Chain and the Current State of the PHP Ecosystem
What is the Secure Supply Chain and the Current State of the PHP EcosystemWhat is the Secure Supply Chain and the Current State of the PHP Ecosystem
What is the Secure Supply Chain and the Current State of the PHP Ecosystem
sparkfabrik
 
Front-end development introduction (JavaScript). Part 2
Front-end development introduction (JavaScript). Part 2Front-end development introduction (JavaScript). Part 2
Front-end development introduction (JavaScript). Part 2
Oleksii Prohonnyi
 
WEB DEVELOPMENT TECHNOLOGIES.pptx
WEB DEVELOPMENT TECHNOLOGIES.pptxWEB DEVELOPMENT TECHNOLOGIES.pptx
WEB DEVELOPMENT TECHNOLOGIES.pptx
RAVINDRASONWANE2
 
Introduction to r
Introduction to rIntroduction to r
Introduction to r
gslicraf
 
Knowledge based-interaction-in-software-development
Knowledge based-interaction-in-software-developmentKnowledge based-interaction-in-software-development
Knowledge based-interaction-in-software-development
Dimitris Panagiotou
 
Present and future of unified, portable and efficient data processing with Ap...
Present and future of unified, portable and efficient data processing with Ap...Present and future of unified, portable and efficient data processing with Ap...
Present and future of unified, portable and efficient data processing with Ap...
DataWorks Summit
 
Tech leaders guide to effective building of machine learning products
Tech leaders guide to effective building of machine learning productsTech leaders guide to effective building of machine learning products
Tech leaders guide to effective building of machine learning products
Gianmario Spacagna
 
Freddie Mac Internship Overview
Freddie Mac Internship OverviewFreddie Mac Internship Overview
Freddie Mac Internship Overview
Charles Stolze
 
Pos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.com
Pos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.comPos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.com
Pos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.com
ULLPTT
 
Managing Phone Dev Projects
Managing Phone Dev ProjectsManaging Phone Dev Projects
Managing Phone Dev Projects
John McKerrell
 
Ide
IdeIde
A MEDIA SHARING PLATFORM BUILT WITH OPEN SOURCE SOFTWARE
A MEDIA SHARING PLATFORM BUILT WITH OPEN SOURCE SOFTWAREA MEDIA SHARING PLATFORM BUILT WITH OPEN SOURCE SOFTWARE
A MEDIA SHARING PLATFORM BUILT WITH OPEN SOURCE SOFTWARE
vrt-medialab
 
Ease of full Stack Development
Ease of full Stack DevelopmentEase of full Stack Development
Ease of full Stack Development
IRJET Journal
 
report_barc
report_barcreport_barc
report_barc
siontani
 

Similar to Decoder Open Research Webinar (20)

A knowledge-workbench-for-software-development
A knowledge-workbench-for-software-developmentA knowledge-workbench-for-software-development
A knowledge-workbench-for-software-development
 
Developing With Openbravo Rl Eppt
Developing With Openbravo Rl EpptDeveloping With Openbravo Rl Eppt
Developing With Openbravo Rl Eppt
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com Jenkins
 
Biocatalogue, FileQuirks, MyExperiment
Biocatalogue, FileQuirks, MyExperimentBiocatalogue, FileQuirks, MyExperiment
Biocatalogue, FileQuirks, MyExperiment
 
compiler construction tool in computer science .
compiler construction tool in computer science .compiler construction tool in computer science .
compiler construction tool in computer science .
 
RESUME-WilliamAVisnich-April 2015
RESUME-WilliamAVisnich-April 2015RESUME-WilliamAVisnich-April 2015
RESUME-WilliamAVisnich-April 2015
 
What is the Secure Supply Chain and the Current State of the PHP Ecosystem
What is the Secure Supply Chain and the Current State of the PHP EcosystemWhat is the Secure Supply Chain and the Current State of the PHP Ecosystem
What is the Secure Supply Chain and the Current State of the PHP Ecosystem
 
Front-end development introduction (JavaScript). Part 2
Front-end development introduction (JavaScript). Part 2Front-end development introduction (JavaScript). Part 2
Front-end development introduction (JavaScript). Part 2
 
WEB DEVELOPMENT TECHNOLOGIES.pptx
WEB DEVELOPMENT TECHNOLOGIES.pptxWEB DEVELOPMENT TECHNOLOGIES.pptx
WEB DEVELOPMENT TECHNOLOGIES.pptx
 
Introduction to r
Introduction to rIntroduction to r
Introduction to r
 
Knowledge based-interaction-in-software-development
Knowledge based-interaction-in-software-developmentKnowledge based-interaction-in-software-development
Knowledge based-interaction-in-software-development
 
Present and future of unified, portable and efficient data processing with Ap...
Present and future of unified, portable and efficient data processing with Ap...Present and future of unified, portable and efficient data processing with Ap...
Present and future of unified, portable and efficient data processing with Ap...
 
Tech leaders guide to effective building of machine learning products
Tech leaders guide to effective building of machine learning productsTech leaders guide to effective building of machine learning products
Tech leaders guide to effective building of machine learning products
 
Freddie Mac Internship Overview
Freddie Mac Internship OverviewFreddie Mac Internship Overview
Freddie Mac Internship Overview
 
Pos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.com
Pos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.comPos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.com
Pos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.com
 
Managing Phone Dev Projects
Managing Phone Dev ProjectsManaging Phone Dev Projects
Managing Phone Dev Projects
 
Ide
IdeIde
Ide
 
A MEDIA SHARING PLATFORM BUILT WITH OPEN SOURCE SOFTWARE
A MEDIA SHARING PLATFORM BUILT WITH OPEN SOURCE SOFTWAREA MEDIA SHARING PLATFORM BUILT WITH OPEN SOURCE SOFTWARE
A MEDIA SHARING PLATFORM BUILT WITH OPEN SOURCE SOFTWARE
 
Ease of full Stack Development
Ease of full Stack DevelopmentEase of full Stack Development
Ease of full Stack Development
 
report_barc
report_barcreport_barc
report_barc
 

More from Decoder Project

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
 
Decoder Fosdem 2021
Decoder Fosdem 2021 Decoder Fosdem 2021
Decoder Fosdem 2021
Decoder Project
 
Decoder Systematic Presentation
Decoder Systematic Presentation Decoder Systematic Presentation
Decoder Systematic Presentation
Decoder Project
 
DECODER POSS 2019
DECODER POSS 2019DECODER POSS 2019
DECODER POSS 2019
Decoder Project
 
Profes'19 Software Knowledge Representation
Profes'19 Software Knowledge RepresentationProfes'19 Software Knowledge Representation
Profes'19 Software Knowledge Representation
Decoder Project
 
Profes'19 Decoder
Profes'19 DecoderProfes'19 Decoder
Profes'19 Decoder
Decoder Project
 
Decoder project overview
Decoder project overviewDecoder project overview
Decoder project overview
Decoder Project
 
DECODER MyThaiStar Use Case
DECODER MyThaiStar Use CaseDECODER MyThaiStar Use Case
DECODER MyThaiStar Use Case
Decoder Project
 
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 Board
Decoder Project
 

More from Decoder Project (9)

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 Fosdem 2021
Decoder Fosdem 2021 Decoder Fosdem 2021
Decoder Fosdem 2021
 
Decoder Systematic Presentation
Decoder Systematic Presentation Decoder Systematic Presentation
Decoder Systematic Presentation
 
DECODER POSS 2019
DECODER POSS 2019DECODER POSS 2019
DECODER POSS 2019
 
Profes'19 Software Knowledge Representation
Profes'19 Software Knowledge RepresentationProfes'19 Software Knowledge Representation
Profes'19 Software Knowledge Representation
 
Profes'19 Decoder
Profes'19 DecoderProfes'19 Decoder
Profes'19 Decoder
 
Decoder project overview
Decoder project overviewDecoder project overview
Decoder project overview
 
DECODER MyThaiStar Use Case
DECODER MyThaiStar Use CaseDECODER MyThaiStar Use Case
DECODER MyThaiStar Use Case
 
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 Board
 

Recently uploaded

Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
kalichargn70th171
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
YAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring detailsYAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring details
NishanthaBulumulla1
 
fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.
AnkitaPandya11
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 

Recently uploaded (20)

Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
YAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring detailsYAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring details
 
fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.fiscal year variant fiscal year variant.
fiscal year variant fiscal year variant.
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 

Decoder Open Research Webinar

  • 1. Open Research Webinars DECODER: a new DevOps toolbox for software code exploration and analysis Virgile Prevosto CEA, List Eclipse-OW2 Webinar 2021-03-04
  • 2. 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: DEveloper COmpanion for Documented and annotatEd code Reference Open Research Webinars - page 2
  • 3. 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 Modeler NLP Knowledge Formalizer NLP Knowledge Extractor Specification Synthesis Frama-C OpenJML Testar Tool Persistent Knowledge Monitor - PKM Open Research Webinars - page 3
  • 4. 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 PKM Architecture Open Research Webinars - page 4
  • 5. 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 Informal documents and Formal Specification Open Research Webinars - page 5
  • 6. 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 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 Abstract Semi-Formal Models Open Research Webinars - page 6
  • 7. I browser-based I under heavy development I basic support for the main tools feeding the PKM Decoder Front-end Open Research Webinars - page 7
  • 8. Beta-testing PKM Server I Internally I Add functionalities to the API I Integrate more tools (NLP) I Continue client development I Externally I Interface with existing tools (e.g. ) I Export standard queries (e.g. LSP) where possible 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 Next steps Open Research Webinars - page 8
  • 9. Contacts GLOBE https://www.decoder-project.eu/ @ https://www.decoder-project.eu/view/Main/Contacts TWITTER decoderproject LINKEDIN Decoder H2020 Slideshare DecoderProject Acknowledgments The DECODER project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 824231. Icons designed by ultimatearm, eucalyp and pixel-perfect from Flaticon Open Research Webinars - page 9