Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Profes'19 Software Knowledge Representation

Software Knowledge Representation to Understand Software Systems. A Profes 2019 presentation by Victoria Torres, Miriam Gil and Vicente Pelechano, from UPV (Valencia University).

  • Be the first to comment

  • Be the first to like this

Profes'19 Software Knowledge Representation

  1. 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. 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. 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. 4. 2019 DEveloper COmpanion for Documented and annotatEd code Reference Introduction :: PKM and Tools Interaction to extract Knowledge
  5. 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. 6. 2019 DEveloper COmpanion for Documented and annotatEd code Reference PKM exploited along the whole Development Lifecycle
  7. 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. 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. 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. 10. 2019 DEveloper COmpanion for Documented and annotatEd code Reference The PKM Meta-model (excerpt)
  11. 11. 2019 DEveloper COmpanion for Documented and annotatEd code Reference The PKM Meta-model (excerpt)
  12. 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. 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. 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. 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.

×