SlideShare a Scribd company logo
1 of 15
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.
Software Knowledge Representation to
Understand Software Systems
Victoria Torres, Miriam Gil and Vicente Pelechano
PROFES
Barcelona, 27-29 November, 2019
2019 DEveloper COmpanion for Documented and annotatEd code Reference
1. Introduction
2. Knowledge Sources to Populate the PKM
3. Meta-models for Software Knowledge Representation
4. The PKM Meta-model
5. Conclusions and Further Work
2019 DEveloper COmpanion for Documented and annotatEd code Reference
Introduction
Too much time wasted during software
development projects
Wrong decisions taken
Amount of information for stakeholders
Lack of proper documentation
Lack of effective tools to support software
production
Lack of systematic approach for the
development and reuse of components
Lack of knowledge about components
Required interactions between different
stakeholders
Each one at different level of abstraction
Dealing with ambiguous and incomplete
documents
Software engineers need help. They
need software project intelligence!!!
2019 DEveloper COmpanion for Documented and annotatEd code Reference
Introduction :: PKM and Tools Interaction to extract Knowledge
2019 DEveloper COmpanion for Documented and annotatEd code Reference
Introducction :: Encompassing the whole Development Lifecycle
Requirements
Preliminary Design
Detailed
Design
Unit
Checking
Integration
Checking
System
Validation
NLP
Spec generation
Modeling
Doc generation
IDE queries
Invariant
generation
Doc generation
PKM
Impact analysis
Maintenance/Evolution
Implementation
2019 DEveloper COmpanion for Documented and annotatEd code Reference
PKM exploited along the whole Development Lifecycle
2019 DEveloper COmpanion for Documented and annotatEd code Reference
KDM
ASTM
FAMIX
LLVM
IL
SARIF
SMM PADL
DMM
Cha-Q
Meta-models for Software Knowledge Representation
KDM
ASTM
FAMIX
LLVM
IL
SARIF
SMM PADL
DMM
Cha-Q
High Medium Low
Abstraction level
2019 DEveloper COmpanion for Documented and annotatEd code Reference
Meta-models for Software Knowledge Representation
KDM
ASTM
FAMIX
LLVM
IL
SARIF
SMM PADL
DMM
Cha-Q
Source code SW system artefacts Changes
Targeted to represent
Analysis Motifs
2019 DEveloper COmpanion for Documented and annotatEd code Reference
The PKM Meta-model
Formal specification describing, by
means of pre, post and invariants, the
behavior of an associated source
code.
Artefacts that list human-readable
instructions written by a
programmer with the objective of
being executed in a computing
device.
abstract representations of a specific
aspect from a given domain (e.g., a
uml class model)
artefacts that store data structures
and that are usually used as
interchange format.
Information produced by static source
code analysis, by optimization passes
of compilers, by natural language
processing or by machine learning
techniques.
Artefacts containing a structured
content in natural language,
related to some particular chunk of
source code or of a global nature.
Artefacts describing, in plain text,
the parameters that define or
execute a specific software
program.
Represents the concept of artefact
and its related concepts:
• Project use case
• Tools
• Development phases
• Stakeholders
2019 DEveloper COmpanion for Documented and annotatEd code Reference
The PKM Meta-model (excerpt)
2019 DEveloper COmpanion for Documented and annotatEd code Reference
The PKM Meta-model (excerpt)
2019 DEveloper COmpanion for Documented and annotatEd code Reference
How to exploit the PKM Meta-model
API offering Post, Put, and Get operations to:
Store artefacts (code, documentation,
models, annotations, tests, verification, etc.)
Update/restore artefacts
Retrieve artefacts for analysis or
visualization
2019 DEveloper COmpanion for Documented and annotatEd code Reference
Conclusions and Further Work
PKM Meta-model inspired from common representations found in the literature
PKM organized in packages to be easily extensible
Living repository that can be queried and enriched by the actors and tools
Maintains consistency and the most updated and precise information about the project
It should support stakeholders along the whole development lifecycle
2019 DEveloper COmpanion for Documented and annotatEd code Reference
Conclusions and Further Work
Implement the PKM as a non-relational DB
Validate the PKM with use cases developed by industrial partners of DECODER
Linux Drivers: Quickly and accurately assess the quality of an external Linux driver for inclusion in
embedded systems (SYSGO, Germany)
OpenCV: Build a better knowledge of OpenCV API and its usage in some applications (Tree, Spain)
MyThaiStar: UI/UX design and verification (CAPGEMINI, Spain)
Java: Usage of Decoder toolset on selected Open Source Java projects (OW2, France)
2019 DEveloper COmpanion for Documented and annotatEd code Reference
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.

More Related Content

What's hot

DECODER MyThaiStar Use Case
DECODER MyThaiStar Use CaseDECODER MyThaiStar Use Case
DECODER MyThaiStar Use CaseDecoder Project
 
Applied Data Science with Python Specialization 2017 Certificate
Applied Data Science with Python Specialization 2017 CertificateApplied Data Science with Python Specialization 2017 Certificate
Applied Data Science with Python Specialization 2017 CertificateRicardo Praelli
 
Quaero Technology Catalog
Quaero Technology CatalogQuaero Technology Catalog
Quaero Technology CatalogNabil Bouzerna
 
Deep Learning Specialization Certificate
Deep Learning Specialization CertificateDeep Learning Specialization Certificate
Deep Learning Specialization CertificateRicardo Praelli
 
Call for papers - 6th International Conference on Software Engineering (SOENG...
Call for papers - 6th International Conference on Software Engineering (SOENG...Call for papers - 6th International Conference on Software Engineering (SOENG...
Call for papers - 6th International Conference on Software Engineering (SOENG...ijcsa
 
The RoTechnology official presentation
The RoTechnology official presentationThe RoTechnology official presentation
The RoTechnology official presentationRo Technology
 
3rd International conference on Advanced Natural Language Processing (AdNLP 2...
3rd International conference on Advanced Natural Language Processing (AdNLP 2...3rd International conference on Advanced Natural Language Processing (AdNLP 2...
3rd International conference on Advanced Natural Language Processing (AdNLP 2...kevig
 

What's hot (11)

DECODER MyThaiStar Use Case
DECODER MyThaiStar Use CaseDECODER MyThaiStar Use Case
DECODER MyThaiStar Use Case
 
Applied Data Science with Python Specialization 2017 Certificate
Applied Data Science with Python Specialization 2017 CertificateApplied Data Science with Python Specialization 2017 Certificate
Applied Data Science with Python Specialization 2017 Certificate
 
Quaero Technology Catalog
Quaero Technology CatalogQuaero Technology Catalog
Quaero Technology Catalog
 
Deep Learning Specialization Certificate
Deep Learning Specialization CertificateDeep Learning Specialization Certificate
Deep Learning Specialization Certificate
 
cv_francisco.ruiz_en
cv_francisco.ruiz_encv_francisco.ruiz_en
cv_francisco.ruiz_en
 
Call for papers - 6th International Conference on Software Engineering (SOENG...
Call for papers - 6th International Conference on Software Engineering (SOENG...Call for papers - 6th International Conference on Software Engineering (SOENG...
Call for papers - 6th International Conference on Software Engineering (SOENG...
 
Nlpcl 2021
Nlpcl 2021Nlpcl 2021
Nlpcl 2021
 
The RoTechnology official presentation
The RoTechnology official presentationThe RoTechnology official presentation
The RoTechnology official presentation
 
Python-EMU-PCAP
Python-EMU-PCAPPython-EMU-PCAP
Python-EMU-PCAP
 
Ibm
IbmIbm
Ibm
 
3rd International conference on Advanced Natural Language Processing (AdNLP 2...
3rd International conference on Advanced Natural Language Processing (AdNLP 2...3rd International conference on Advanced Natural Language Processing (AdNLP 2...
3rd International conference on Advanced Natural Language Processing (AdNLP 2...
 

Similar to Profes'19 Software Knowledge Representation

IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...IRJET Journal
 
Barcode Verification Dct.docx
Barcode Verification Dct.docxBarcode Verification Dct.docx
Barcode Verification Dct.docxhrutikaghodke1
 
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
 
Atmel - Next-Generation IDE: Maximizing IP Reuse [WHITE PAPER]
Atmel - Next-Generation IDE: Maximizing IP Reuse [WHITE PAPER]Atmel - Next-Generation IDE: Maximizing IP Reuse [WHITE PAPER]
Atmel - Next-Generation IDE: Maximizing IP Reuse [WHITE PAPER]Atmel Corporation
 
Programmer Productivity Enhancement Through Controlled Natural Language Input
Programmer Productivity Enhancement Through Controlled Natural Language InputProgrammer Productivity Enhancement Through Controlled Natural Language Input
Programmer Productivity Enhancement Through Controlled Natural Language Inputijseajournal
 
GEETHAhshansbbsbsbhshnsnsn_INTERNSHIP.pptx
GEETHAhshansbbsbsbhshnsnsn_INTERNSHIP.pptxGEETHAhshansbbsbsbhshnsnsn_INTERNSHIP.pptx
GEETHAhshansbbsbsbhshnsnsn_INTERNSHIP.pptxGeetha982072
 
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
 
Portable Code Compiler
Portable Code CompilerPortable Code Compiler
Portable Code Compilerijtsrd
 
internship ijrmfijemdpiwomdijemfoiemd.pptx
internship ijrmfijemdpiwomdijemfoiemd.pptxinternship ijrmfijemdpiwomdijemfoiemd.pptx
internship ijrmfijemdpiwomdijemfoiemd.pptxVenuVenupk1431
 
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTPROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTijdpsjournal
 
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTPROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTijdpsjournal
 
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTPROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTijdpsjournal
 
Project findings paper TMForum catalyst 2014 B2B service bundling 1.0
Project findings paper TMForum catalyst 2014 B2B service bundling 1.0Project findings paper TMForum catalyst 2014 B2B service bundling 1.0
Project findings paper TMForum catalyst 2014 B2B service bundling 1.0gtilton
 
1rst ARCADIA project newsletter
1rst ARCADIA project newsletter1rst ARCADIA project newsletter
1rst ARCADIA project newsletterEU ARCADIA PROJECT
 
Final project report format
Final project report formatFinal project report format
Final project report formatMasud Sarkar
 
IRJET- Online Programming Environment
IRJET- Online Programming EnvironmentIRJET- Online Programming Environment
IRJET- Online Programming EnvironmentIRJET Journal
 
Data Security String Manipulation by Random Value in Hypertext Preprocessor
Data Security String Manipulation by Random Value in Hypertext PreprocessorData Security String Manipulation by Random Value in Hypertext Preprocessor
Data Security String Manipulation by Random Value in Hypertext Preprocessorijtsrd
 

Similar to Profes'19 Software Knowledge Representation (20)

IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...
 
Barcode Verification Dct.docx
Barcode Verification Dct.docxBarcode Verification Dct.docx
Barcode Verification Dct.docx
 
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?
 
Atmel - Next-Generation IDE: Maximizing IP Reuse [WHITE PAPER]
Atmel - Next-Generation IDE: Maximizing IP Reuse [WHITE PAPER]Atmel - Next-Generation IDE: Maximizing IP Reuse [WHITE PAPER]
Atmel - Next-Generation IDE: Maximizing IP Reuse [WHITE PAPER]
 
Programmer Productivity Enhancement Through Controlled Natural Language Input
Programmer Productivity Enhancement Through Controlled Natural Language InputProgrammer Productivity Enhancement Through Controlled Natural Language Input
Programmer Productivity Enhancement Through Controlled Natural Language Input
 
GEETHAhshansbbsbsbhshnsnsn_INTERNSHIP.pptx
GEETHAhshansbbsbsbhshnsnsn_INTERNSHIP.pptxGEETHAhshansbbsbsbhshnsnsn_INTERNSHIP.pptx
GEETHAhshansbbsbsbhshnsnsn_INTERNSHIP.pptx
 
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...
 
Portable Code Compiler
Portable Code CompilerPortable Code Compiler
Portable Code Compiler
 
internship ijrmfijemdpiwomdijemfoiemd.pptx
internship ijrmfijemdpiwomdijemfoiemd.pptxinternship ijrmfijemdpiwomdijemfoiemd.pptx
internship ijrmfijemdpiwomdijemfoiemd.pptx
 
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTPROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
 
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTPROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
 
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENTPROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
PROGRAMMING REQUESTS/RESPONSES WITH GREATFREE IN THE CLOUD ENVIRONMENT
 
Project findings paper TMForum catalyst 2014 B2B service bundling 1.0
Project findings paper TMForum catalyst 2014 B2B service bundling 1.0Project findings paper TMForum catalyst 2014 B2B service bundling 1.0
Project findings paper TMForum catalyst 2014 B2B service bundling 1.0
 
IT6511 Networks Laboratory
IT6511 Networks LaboratoryIT6511 Networks Laboratory
IT6511 Networks Laboratory
 
1rst ARCADIA project newsletter
1rst ARCADIA project newsletter1rst ARCADIA project newsletter
1rst ARCADIA project newsletter
 
Final project report format
Final project report formatFinal project report format
Final project report format
 
DSC - info session 2022.pptx
DSC - info session 2022.pptxDSC - info session 2022.pptx
DSC - info session 2022.pptx
 
IRJET- Online Programming Environment
IRJET- Online Programming EnvironmentIRJET- Online Programming Environment
IRJET- Online Programming Environment
 
Data Security String Manipulation by Random Value in Hypertext Preprocessor
Data Security String Manipulation by Random Value in Hypertext PreprocessorData Security String Manipulation by Random Value in Hypertext Preprocessor
Data Security String Manipulation by Random Value in Hypertext Preprocessor
 
IBM Think Milano
IBM Think MilanoIBM Think Milano
IBM Think Milano
 

Recently uploaded

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 

Profes'19 Software Knowledge Representation

  • 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. Software Knowledge Representation to Understand Software Systems Victoria Torres, Miriam Gil and Vicente Pelechano PROFES Barcelona, 27-29 November, 2019
  • 2. 2019 DEveloper COmpanion for Documented and annotatEd code Reference 1. Introduction 2. Knowledge Sources to Populate the PKM 3. Meta-models for Software Knowledge Representation 4. The PKM Meta-model 5. Conclusions and Further Work
  • 3. 2019 DEveloper COmpanion for Documented and annotatEd code Reference Introduction Too much time wasted during software development projects Wrong decisions taken Amount of information for stakeholders Lack of proper documentation Lack of effective tools to support software production Lack of systematic approach for the development and reuse of components Lack of knowledge about components Required interactions between different stakeholders Each one at different level of abstraction Dealing with ambiguous and incomplete documents Software engineers need help. They need software project intelligence!!!
  • 4. 2019 DEveloper COmpanion for Documented and annotatEd code Reference Introduction :: PKM and Tools Interaction to extract Knowledge
  • 5. 2019 DEveloper COmpanion for Documented and annotatEd code Reference Introducction :: Encompassing the whole Development Lifecycle Requirements Preliminary Design Detailed Design Unit Checking Integration Checking System Validation NLP Spec generation Modeling Doc generation IDE queries Invariant generation Doc generation PKM Impact analysis Maintenance/Evolution Implementation
  • 6. 2019 DEveloper COmpanion for Documented and annotatEd code Reference PKM exploited along the whole Development Lifecycle
  • 7. 2019 DEveloper COmpanion for Documented and annotatEd code Reference KDM ASTM FAMIX LLVM IL SARIF SMM PADL DMM Cha-Q Meta-models for Software Knowledge Representation KDM ASTM FAMIX LLVM IL SARIF SMM PADL DMM Cha-Q High Medium Low Abstraction level
  • 8. 2019 DEveloper COmpanion for Documented and annotatEd code Reference Meta-models for Software Knowledge Representation KDM ASTM FAMIX LLVM IL SARIF SMM PADL DMM Cha-Q Source code SW system artefacts Changes Targeted to represent Analysis Motifs
  • 9. 2019 DEveloper COmpanion for Documented and annotatEd code Reference The PKM Meta-model Formal specification describing, by means of pre, post and invariants, the behavior of an associated source code. Artefacts that list human-readable instructions written by a programmer with the objective of being executed in a computing device. abstract representations of a specific aspect from a given domain (e.g., a uml class model) artefacts that store data structures and that are usually used as interchange format. Information produced by static source code analysis, by optimization passes of compilers, by natural language processing or by machine learning techniques. Artefacts containing a structured content in natural language, related to some particular chunk of source code or of a global nature. Artefacts describing, in plain text, the parameters that define or execute a specific software program. Represents the concept of artefact and its related concepts: • Project use case • Tools • Development phases • Stakeholders
  • 10. 2019 DEveloper COmpanion for Documented and annotatEd code Reference The PKM Meta-model (excerpt)
  • 11. 2019 DEveloper COmpanion for Documented and annotatEd code Reference The PKM Meta-model (excerpt)
  • 12. 2019 DEveloper COmpanion for Documented and annotatEd code Reference How to exploit the PKM Meta-model API offering Post, Put, and Get operations to: Store artefacts (code, documentation, models, annotations, tests, verification, etc.) Update/restore artefacts Retrieve artefacts for analysis or visualization
  • 13. 2019 DEveloper COmpanion for Documented and annotatEd code Reference Conclusions and Further Work PKM Meta-model inspired from common representations found in the literature PKM organized in packages to be easily extensible Living repository that can be queried and enriched by the actors and tools Maintains consistency and the most updated and precise information about the project It should support stakeholders along the whole development lifecycle
  • 14. 2019 DEveloper COmpanion for Documented and annotatEd code Reference Conclusions and Further Work Implement the PKM as a non-relational DB Validate the PKM with use cases developed by industrial partners of DECODER Linux Drivers: Quickly and accurately assess the quality of an external Linux driver for inclusion in embedded systems (SYSGO, Germany) OpenCV: Build a better knowledge of OpenCV API and its usage in some applications (Tree, Spain) MyThaiStar: UI/UX design and verification (CAPGEMINI, Spain) Java: Usage of Decoder toolset on selected Open Source Java projects (OW2, France)
  • 15. 2019 DEveloper COmpanion for Documented and annotatEd code Reference 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.