The DECODER project simplifies software library and component reuse, while ensuring that they will behave as expected by the developer. The DECODER central database (PKM) stores code-related artifacts and establish bindings between them, notably by generating formal specification from informal requirements or semi-formal models from source code. Presentation by Virgile Prevosto, CEA List.
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
DECODER, a Smarter Environment for DevOps Teams , OW2online, June 2020
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 Smarter Environment for DevOps Teams
Virgile Prevosto
CEA, List
OW2Online'20
2020-06-17
2. DEveloper COmpanion for Documented and annotatEd
code Reference
Project at a glance
https://www.decoder-project.eu/
Started in January 2019, for 36 months
Provide a unified platform for
managing all kinds of information on a
given codebase.
Target all stakeholders in software
development life cycle:
developers
reviewers
maintainers
Use-cases
Methodology
UX
Natural
Language
Processing
Software
Engineering
Tools
Coordination:
2020 DEveloper COmpanion for Documented and annotatEd code Reference 2020-06-17
2
3. Persistent Knowledge Monitor - PKM
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
Augmented
IDE
Documentation
Generator
UML Eclipse
plugin
NLP
Knowledge
Formalizer
NLP
Knowledge
Extractor
Specification
Synthesis
Frama-C
OpenJML
Testar
Tool
2020 DEveloper COmpanion for Documented and annotatEd code Reference 2020-06-17
3
4. PKM Design and Implementation
A central piece of the project
Need to accommodate for many kinds of objects
and many roles along SDLC
Feedback from all partners (and beyond)
Json as main interchange format
Initial Json Schema ready
Take advantage of existing proposals:
SARIF (static analysis results)
JCDB (compilation information)
LSP (interactions with IDE)
...
JS drivers
Low level API
High level API
Tools Management GUI
2020 DEveloper COmpanion for Documented and annotatEd code Reference 2020-06-17
4
5. Informal documents and Formal Specification
Natural Language Processing
Knowledge extraction from informal
documents and correspondance with
relevant code pieces
Knowledge extraction from code and
semi-automated documentation
generation
2020 DEveloper COmpanion for Documented and annotatEd code Reference 2020-06-17
5
6. Information Extraction
Dataset Gathering
Collect existing datasets (code and documents) outside Decoder
DeepAPI training corpus for natural language/call sequences correspondance
Also consider use cases (MyThaiStar and OpenCV)
Initial experiments
Code to NL:
Features extraction and grouping tokens
Application to the detection of identifier mismatch (either in code or in comments)
NL to Code:
Consider programming language as a foreign language
Neural Machine Translation
Compute semantic similarity between source code and informal description
2020 DEveloper COmpanion for Documented and annotatEd code Reference 2020-06-17
6
7. Abstract Semi-Formal Models
At a glance
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)
Current status
Initial version available
Common part understood by all tools
Extensible with tool-specific content
Provide an abstraction layer on top of PKM’s lower-level documents
Conversion tools to ASFM available as prototypes
2020 DEveloper COmpanion for Documented and annotatEd code Reference 2020-06-17
7
8. Next steps
Beta-testing PKM Server
Internally
Add functionalities to the API
Integrate more tools (NLP)
Develop client
Externally
Interface with existing tools
Use https://www.reachout-project.eu/?
2020 DEveloper COmpanion for Documented and annotatEd code Reference 2020-06-17
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
� https://www.decoder-project.eu/
@ https://www.decoder-project.eu/view/Main/Contacts
� decoderproject
� Decoder H2020
� DecoderProject
2020 DEveloper COmpanion for Documented and annotatEd code Reference 2020-06-17
9