SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Python metaprogramming
in linear time language
for automated runtime verification
with graph neural networks
Diploma thesis by:
Dimitrios Karageorgiou (SRN: 8420)
soulrain@outlook.com
Supervisors:
• Andreas Symeonidis (Associate Professor)
• Emmanouil Krasanakis (PhD Candidate)
Faculty of Engineering
School of Electrical And Computers Engineering
Department of Electronics and Computer Engineering
Intelligent Systems and Software Engineering Labgroup
Friday, 12th November 2021
In other words…
Lovpy is a runtime logic verification library for Python.
2
Lovpy
Logic verification becomes mainstream!
Lovpy by Dimitrios
Karageorgiou
What is logic verification?
 Runtime verification approach at its heart.
► E.g. a deadlock can be detected only at runtime.
 Extends verification techniques outside of strict software verification domain.
 E.g. enforcing best practices to the users of a library is also a logic problem.
3
Instrumentation
Python
System
Monitor
Specifications
Verdicts
Events
Specification Violated
or
Specification Holds
e.g.
Lovpy by Dimitrios
Karageorgiou
Not another runtime verification library...
 Only complex and application specific runtime verification libraries existed for Python.
 Design goals:
 Minimal user effort to enable verification, without required code modifications.
 Specifications in an easy-to-learn and intuitive language.
 Never report a violation that does not exist (0% false-negatives).
 Report violations before they happen (prevent side-effects).
 Report the last provably correct line of code (all specifications hold).
4
Lovpy by Dimitrios
Karageorgiou
No code modifications required!
 Enable verification by just executing the library:
python –m lovpy <script.py>
5
Lovpy by Dimitrios
Karageorgiou
► Lovpy AOT Preprocessor handles the rest:
Python Code
Lovpy AOT
Preprocessor
Augmented Python
Code
Python Runtime
Python Objects Augmented Objects Lovpy Execution
Augmented Python Objects
 Each Python object is augmented to hold its execution state:
6
Current System State
Augmented Object 1
Object 1 State 1
Augmented Object 2
Object 2 State 2
Augmented Object N
Object N State N
 Objects can live anywhere
(multiple threads, processes etc.)
 Parallelization of original system is retained.
 Verification on per-object basis.
Lovpy by Dimitrios
Karageorgiou
Specifications in Gherkin 7
Gherkin is:
 Simple
 Easy-to-learn
 Intuitive
1. SCENARIO:
2. WHEN call acquire
3. THEN SHOULD NOT locked
4. AND locked
5.
6. SCENARIO:
7. GIVEN locked
8. WHEN call release
9. THEN NOT locked
Lovpy by Dimitrios
Karageorgiou
Everything is mathematically proved!
 Monitor utilizes an Automated Theorem Prover:
8
Monitor
Current System
State
Theorems
Automated Theorem
Prover
System State
Builder
Specifications
Parser
Properties to Prove
Execution Events
Specifications
Verdicts
Lovpy by Dimitrios
Karageorgiou
Automated Theorem Proving
9
Lovpy by Dimitrios
Karageorgiou
Everything is a Temporal Graph
 Execution States, Theorems and Properties are converted to Temporal Graphs.
 Temporal Graph:
o A kind of Abstract Syntax Graph.
o Nodes are either logical operators or predicates.
o Edges contain timestamps.
o Each timestamp is the most recent moment the
subgraph holds.
o Timestamps can be relative or absolute.
o Definition of mathematically proved logic algorithms (logic graph removal/addition, graph modus
ponens, etc.)
10
Lovpy by Dimitrios
Karageorgiou
Everything is a Temporal Graph
 Execution States, Theorems and Properties are converted to Temporal Graphs.
11
 …
 lock = threading.Lock()
 …
 lock.acquire()
 …
 lock.release()
 …
 lock.acquire()
 …
Lovpy by Dimitrios
Karageorgiou
Everything is a Temporal Graph
 Execution States, Theorems and Properties are converted to Temporal Graphs.
12
1. SCENARIO:
2. GIVEN locked
3. WHEN call release
4. THEN NOT locked
Lovpy by Dimitrios
Karageorgiou
Everything is a Temporal Graph
 Execution States, Theorems and Properties are converted to Timed Graphs.
13
1. SCENARIO:
2. WHEN call acquire
3. THEN SHOULD NOT locked
4. AND locked
 Part of conclusion that refers to the same time moment with assumption, is always proved and becomes a theorem.
Lovpy by Dimitrios
Karageorgiou
Proving process initialization 14
Lovpy by Dimitrios
Karageorgiou
Property to Prove
Execution State Graph
Theorem application #1 15
Lovpy by Dimitrios
Karageorgiou
Applied Theorem #1
Execution State Graph #1
Theorem application #2 16
Lovpy by Dimitrios
Karageorgiou
Applied Theorem #2
Execution State Graph #2
Property proved! 17
Lovpy by Dimitrios
Karageorgiou
Proved property
Final Execution State Graph
Violation detected! 18
Lovpy by Dimitrios
Karageorgiou
► Last correct line reported too!
Improve theorem proving capability
 Deterministic next theorem selection:
 Next theorem to apply is the one whose assumption uses the oldest predicates.
х Problem: Oldest theorem is not always the appropriate one to apply.
 Solution: Deep Learning and Graph Neural Networks
► Next theorem to apply is selected using a deep neural model.
 Use Graph Neural Networks to embed graph.
 Train model using synthetic theorems generated by:
 Lovpy Synthetic Theorems Generator
19
Lovpy by Dimitrios
Karageorgiou
Deep Neural Architecture Overview 20
Lovpy by Dimitrios
Karageorgiou
Concatenation
Current
State
Theorem
Instance
Goal
Property
Theorem N
Theorem 2
Theorem 1
Score N
Score 2
Score 1
Current
State Graph
Encoder
Theorem
Instance
Graph
Encoder
Goal
Property
Graph
Encoder
Current
State
Graph
Theorem
Graph
Goal
Graph
Neural Graph Encoder 21
Lovpy by Dimitrios
Karageorgiou
Evaluation 22
 Evaluated five different architectures on proving 2.5k synthetic theorems.
Correct Proofs
Heuristic 70.7%
MLP 59.25
MLP + Heuristic 70.7%
GNN 61.6%
GNN + Heuristic 73.8%
Lovpy by Dimitrios
Karageorgiou
► Detected common bugs of 5 different domains, in 20 erroneous python programs.
 Detected two bugs in popular open-source projects:
 Django Web Framework
 Keras
Future possibilities
► Public Lovpy’s Repository:
 Community written specifications for specific domains
(e.g. best practices for using Tensorflow)
 Community trained neural models for theorem selection.
 Specifications mining for eliminating the need for hand-written specifications.
 Natural language support in Gherkin rules.
23
Lovpy by Dimitrios
Karageorgiou
Questions???
24
Thanks for watching!
Lovpy by Dimitrios
Karageorgiou
Slides Graveyard
25
Lovpy by Dimitrios
Karageorgiou
Lovpy is available for everyone!
► Lovpy is available at PyPI:
► Also available as an open-source project on Github:
26
Lovpy by Dimitrios
Karageorgiou
python –m pip install lovpy
https://github.com/dkarageo/lovpy
Detecting code violations 27
 Detected two bugs in popular open-source projects:
 Django Web Framework
 Keras
Violations Detected
Threads Data Neural Math Common Total
Heuristic 3 1 2 2 6 14
MLP 1 0 1 2 3 7
MLP + Heuristic 3 1 2 2 6 14
GNN 4 1 1 1 3 12
GNN + Heuristic 5 2 3 2 6 18
► Detected common bugs of 5 different domains, in 20 erroneous python programs.
Lovpy by Dimitrios
Karageorgiou
Synthetic sample example 28
► Generated by Lovpy Synthetic Theorems Generator.
Lovpy by Dimitrios
Karageorgiou

Weitere ähnliche Inhalte

Was ist angesagt?

Storm - As deep into real-time data processing as you can get in 30 minutes.
Storm - As deep into real-time data processing as you can get in 30 minutes.Storm - As deep into real-time data processing as you can get in 30 minutes.
Storm - As deep into real-time data processing as you can get in 30 minutes.
Dan Lynn
 
Incinerator - Eliminating Stale References in Dynamic OSGi Applications - K A...
Incinerator - Eliminating Stale References in Dynamic OSGi Applications - K A...Incinerator - Eliminating Stale References in Dynamic OSGi Applications - K A...
Incinerator - Eliminating Stale References in Dynamic OSGi Applications - K A...
mfrancis
 
Fully Interoperable Streaming of Media Resources in Heterogeneous Environments
Fully Interoperable Streaming of Media Resources in Heterogeneous EnvironmentsFully Interoperable Streaming of Media Resources in Heterogeneous Environments
Fully Interoperable Streaming of Media Resources in Heterogeneous Environments
Alpen-Adria-Universität
 

Was ist angesagt? (19)

The Cryptol Epilogue: Swift and Bulletproof VHDL
The Cryptol Epilogue: Swift and Bulletproof VHDLThe Cryptol Epilogue: Swift and Bulletproof VHDL
The Cryptol Epilogue: Swift and Bulletproof VHDL
 
HAMS - Weekly Update @ April 14th, 2016
HAMS - Weekly Update @ April 14th, 2016HAMS - Weekly Update @ April 14th, 2016
HAMS - Weekly Update @ April 14th, 2016
 
Storm - As deep into real-time data processing as you can get in 30 minutes.
Storm - As deep into real-time data processing as you can get in 30 minutes.Storm - As deep into real-time data processing as you can get in 30 minutes.
Storm - As deep into real-time data processing as you can get in 30 minutes.
 
(Still) Exploiting TCP Timestamps
(Still) Exploiting TCP Timestamps(Still) Exploiting TCP Timestamps
(Still) Exploiting TCP Timestamps
 
Incinerator - Eliminating Stale References in Dynamic OSGi Applications - K A...
Incinerator - Eliminating Stale References in Dynamic OSGi Applications - K A...Incinerator - Eliminating Stale References in Dynamic OSGi Applications - K A...
Incinerator - Eliminating Stale References in Dynamic OSGi Applications - K A...
 
Exploring Petri Net State Spaces
Exploring Petri Net State SpacesExploring Petri Net State Spaces
Exploring Petri Net State Spaces
 
Quantum programming
Quantum programmingQuantum programming
Quantum programming
 
HiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSHiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOS
 
Roman Sevastyanov "Рефакторинг - пути улучшения кода"
Roman Sevastyanov "Рефакторинг - пути улучшения кода"Roman Sevastyanov "Рефакторинг - пути улучшения кода"
Roman Sevastyanov "Рефакторинг - пути улучшения кода"
 
2017 10 17_quantum_program_v2
2017 10 17_quantum_program_v22017 10 17_quantum_program_v2
2017 10 17_quantum_program_v2
 
Scientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of dataScientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of data
 
STORM
STORMSTORM
STORM
 
FAST Approaches to Scalable Similarity-based Test Case Prioritization
FAST Approaches to Scalable Similarity-based Test Case PrioritizationFAST Approaches to Scalable Similarity-based Test Case Prioritization
FAST Approaches to Scalable Similarity-based Test Case Prioritization
 
Fully Interoperable Streaming of Media Resources in Heterogeneous Environments
Fully Interoperable Streaming of Media Resources in Heterogeneous EnvironmentsFully Interoperable Streaming of Media Resources in Heterogeneous Environments
Fully Interoperable Streaming of Media Resources in Heterogeneous Environments
 
A petri-net
A petri-netA petri-net
A petri-net
 
Health Tests of Entropy Sources on Arduino
Health Tests of Entropy Sources on ArduinoHealth Tests of Entropy Sources on Arduino
Health Tests of Entropy Sources on Arduino
 
Erlang os
Erlang osErlang os
Erlang os
 
Python3.6 and asynchronous programming
 Python3.6 and asynchronous programming Python3.6 and asynchronous programming
Python3.6 and asynchronous programming
 
EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18
 

Ähnlich wie Μεταπρογραµµατισµός κώδικα Python σε γλώσσα γραµµικού χρόνου για αυτόµατη επαλήθευση κατά την εκτέλεση µε νευρωνικά δίκτυα γράφων

HES2011 - Sebastien Tricaud - Capture me if you can
HES2011 - Sebastien Tricaud - Capture me if you canHES2011 - Sebastien Tricaud - Capture me if you can
HES2011 - Sebastien Tricaud - Capture me if you can
Hackito Ergo Sum
 
Byteman and The Jokre, Sanne Grinovero (JBoss by RedHat)
Byteman and The Jokre, Sanne Grinovero (JBoss by RedHat)Byteman and The Jokre, Sanne Grinovero (JBoss by RedHat)
Byteman and The Jokre, Sanne Grinovero (JBoss by RedHat)
OpenBlend society
 
CSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoT
CSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoTCSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoT
CSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoT
CanSecWest
 
A Multidimensional Empirical Study on Refactoring Activity
A Multidimensional Empirical Study on Refactoring ActivityA Multidimensional Empirical Study on Refactoring Activity
A Multidimensional Empirical Study on Refactoring Activity
Nikolaos Tsantalis
 

Ähnlich wie Μεταπρογραµµατισµός κώδικα Python σε γλώσσα γραµµικού χρόνου για αυτόµατη επαλήθευση κατά την εκτέλεση µε νευρωνικά δίκτυα γράφων (20)

Seeding a Tree in a Gherkin
Seeding a Tree in a GherkinSeeding a Tree in a Gherkin
Seeding a Tree in a Gherkin
 
Mapping Detection Coverage
Mapping Detection CoverageMapping Detection Coverage
Mapping Detection Coverage
 
HES2011 - Sebastien Tricaud - Capture me if you can
HES2011 - Sebastien Tricaud - Capture me if you canHES2011 - Sebastien Tricaud - Capture me if you can
HES2011 - Sebastien Tricaud - Capture me if you can
 
Hackito Ergo Sum 2011: Capture me if you can!
Hackito Ergo Sum 2011: Capture me if you can!Hackito Ergo Sum 2011: Capture me if you can!
Hackito Ergo Sum 2011: Capture me if you can!
 
淺談 Live patching technology
淺談 Live patching technology淺談 Live patching technology
淺談 Live patching technology
 
20051019 automating regression testing for evolving gui software
20051019 automating regression testing for evolving gui software20051019 automating regression testing for evolving gui software
20051019 automating regression testing for evolving gui software
 
Detecting gravitational waves in Python
Detecting gravitational waves in PythonDetecting gravitational waves in Python
Detecting gravitational waves in Python
 
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
 
Provenance for Data Munging Environments
Provenance for Data Munging EnvironmentsProvenance for Data Munging Environments
Provenance for Data Munging Environments
 
Solving Cross-Cutting Concerns in PHP - DutchPHP Conference 2016
Solving Cross-Cutting Concerns in PHP - DutchPHP Conference 2016 Solving Cross-Cutting Concerns in PHP - DutchPHP Conference 2016
Solving Cross-Cutting Concerns in PHP - DutchPHP Conference 2016
 
Byteman and The Jokre, Sanne Grinovero (JBoss by RedHat)
Byteman and The Jokre, Sanne Grinovero (JBoss by RedHat)Byteman and The Jokre, Sanne Grinovero (JBoss by RedHat)
Byteman and The Jokre, Sanne Grinovero (JBoss by RedHat)
 
Distributed tracing
Distributed tracingDistributed tracing
Distributed tracing
 
Prometheus as exposition format for eBPF programs running on Kubernetes
Prometheus as exposition format for eBPF programs running on KubernetesPrometheus as exposition format for eBPF programs running on Kubernetes
Prometheus as exposition format for eBPF programs running on Kubernetes
 
CSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoT
CSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoTCSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoT
CSW2017 Yuhao song+Huimingliu cyber_wmd_vulnerable_IoT
 
4055-841_Project_ShailendraSadh
4055-841_Project_ShailendraSadh4055-841_Project_ShailendraSadh
4055-841_Project_ShailendraSadh
 
2018 02 20-jeg_index
2018 02 20-jeg_index2018 02 20-jeg_index
2018 02 20-jeg_index
 
A Multidimensional Empirical Study on Refactoring Activity
A Multidimensional Empirical Study on Refactoring ActivityA Multidimensional Empirical Study on Refactoring Activity
A Multidimensional Empirical Study on Refactoring Activity
 
Slide used at ACM-SAC 2014 by Suzaki
Slide used at ACM-SAC 2014 by SuzakiSlide used at ACM-SAC 2014 by Suzaki
Slide used at ACM-SAC 2014 by Suzaki
 
Sci computing using python
Sci computing using pythonSci computing using python
Sci computing using python
 
OSMC 2021 | Robotmk: You don’t run IT – you deliver services!
OSMC 2021 | Robotmk: You don’t run IT – you deliver services!OSMC 2021 | Robotmk: You don’t run IT – you deliver services!
OSMC 2021 | Robotmk: You don’t run IT – you deliver services!
 

Mehr von ISSEL

Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...
ISSEL
 
Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...
ISSEL
 
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
ISSEL
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
ISSEL
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
ISSEL
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
ISSEL
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
ISSEL
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
ISSEL
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
ISSEL
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
ISSEL
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
ISSEL
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
ISSEL
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
ISSEL
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
ISSEL
 
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ISSEL
 
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
ISSEL
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
ISSEL
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
ISSEL
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environments
ISSEL
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
ISSEL
 

Mehr von ISSEL (20)

Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...
 
Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...
 
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
 
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
 
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environments
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
 

Kürzlich hochgeladen

VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 

Kürzlich hochgeladen (20)

Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 

Μεταπρογραµµατισµός κώδικα Python σε γλώσσα γραµµικού χρόνου για αυτόµατη επαλήθευση κατά την εκτέλεση µε νευρωνικά δίκτυα γράφων

  • 1. Python metaprogramming in linear time language for automated runtime verification with graph neural networks Diploma thesis by: Dimitrios Karageorgiou (SRN: 8420) soulrain@outlook.com Supervisors: • Andreas Symeonidis (Associate Professor) • Emmanouil Krasanakis (PhD Candidate) Faculty of Engineering School of Electrical And Computers Engineering Department of Electronics and Computer Engineering Intelligent Systems and Software Engineering Labgroup Friday, 12th November 2021
  • 2. In other words… Lovpy is a runtime logic verification library for Python. 2 Lovpy Logic verification becomes mainstream! Lovpy by Dimitrios Karageorgiou
  • 3. What is logic verification?  Runtime verification approach at its heart. ► E.g. a deadlock can be detected only at runtime.  Extends verification techniques outside of strict software verification domain.  E.g. enforcing best practices to the users of a library is also a logic problem. 3 Instrumentation Python System Monitor Specifications Verdicts Events Specification Violated or Specification Holds e.g. Lovpy by Dimitrios Karageorgiou
  • 4. Not another runtime verification library...  Only complex and application specific runtime verification libraries existed for Python.  Design goals:  Minimal user effort to enable verification, without required code modifications.  Specifications in an easy-to-learn and intuitive language.  Never report a violation that does not exist (0% false-negatives).  Report violations before they happen (prevent side-effects).  Report the last provably correct line of code (all specifications hold). 4 Lovpy by Dimitrios Karageorgiou
  • 5. No code modifications required!  Enable verification by just executing the library: python –m lovpy <script.py> 5 Lovpy by Dimitrios Karageorgiou ► Lovpy AOT Preprocessor handles the rest: Python Code Lovpy AOT Preprocessor Augmented Python Code Python Runtime Python Objects Augmented Objects Lovpy Execution
  • 6. Augmented Python Objects  Each Python object is augmented to hold its execution state: 6 Current System State Augmented Object 1 Object 1 State 1 Augmented Object 2 Object 2 State 2 Augmented Object N Object N State N  Objects can live anywhere (multiple threads, processes etc.)  Parallelization of original system is retained.  Verification on per-object basis. Lovpy by Dimitrios Karageorgiou
  • 7. Specifications in Gherkin 7 Gherkin is:  Simple  Easy-to-learn  Intuitive 1. SCENARIO: 2. WHEN call acquire 3. THEN SHOULD NOT locked 4. AND locked 5. 6. SCENARIO: 7. GIVEN locked 8. WHEN call release 9. THEN NOT locked Lovpy by Dimitrios Karageorgiou
  • 8. Everything is mathematically proved!  Monitor utilizes an Automated Theorem Prover: 8 Monitor Current System State Theorems Automated Theorem Prover System State Builder Specifications Parser Properties to Prove Execution Events Specifications Verdicts Lovpy by Dimitrios Karageorgiou
  • 9. Automated Theorem Proving 9 Lovpy by Dimitrios Karageorgiou
  • 10. Everything is a Temporal Graph  Execution States, Theorems and Properties are converted to Temporal Graphs.  Temporal Graph: o A kind of Abstract Syntax Graph. o Nodes are either logical operators or predicates. o Edges contain timestamps. o Each timestamp is the most recent moment the subgraph holds. o Timestamps can be relative or absolute. o Definition of mathematically proved logic algorithms (logic graph removal/addition, graph modus ponens, etc.) 10 Lovpy by Dimitrios Karageorgiou
  • 11. Everything is a Temporal Graph  Execution States, Theorems and Properties are converted to Temporal Graphs. 11  …  lock = threading.Lock()  …  lock.acquire()  …  lock.release()  …  lock.acquire()  … Lovpy by Dimitrios Karageorgiou
  • 12. Everything is a Temporal Graph  Execution States, Theorems and Properties are converted to Temporal Graphs. 12 1. SCENARIO: 2. GIVEN locked 3. WHEN call release 4. THEN NOT locked Lovpy by Dimitrios Karageorgiou
  • 13. Everything is a Temporal Graph  Execution States, Theorems and Properties are converted to Timed Graphs. 13 1. SCENARIO: 2. WHEN call acquire 3. THEN SHOULD NOT locked 4. AND locked  Part of conclusion that refers to the same time moment with assumption, is always proved and becomes a theorem. Lovpy by Dimitrios Karageorgiou
  • 14. Proving process initialization 14 Lovpy by Dimitrios Karageorgiou Property to Prove Execution State Graph
  • 15. Theorem application #1 15 Lovpy by Dimitrios Karageorgiou Applied Theorem #1 Execution State Graph #1
  • 16. Theorem application #2 16 Lovpy by Dimitrios Karageorgiou Applied Theorem #2 Execution State Graph #2
  • 17. Property proved! 17 Lovpy by Dimitrios Karageorgiou Proved property Final Execution State Graph
  • 18. Violation detected! 18 Lovpy by Dimitrios Karageorgiou ► Last correct line reported too!
  • 19. Improve theorem proving capability  Deterministic next theorem selection:  Next theorem to apply is the one whose assumption uses the oldest predicates. х Problem: Oldest theorem is not always the appropriate one to apply.  Solution: Deep Learning and Graph Neural Networks ► Next theorem to apply is selected using a deep neural model.  Use Graph Neural Networks to embed graph.  Train model using synthetic theorems generated by:  Lovpy Synthetic Theorems Generator 19 Lovpy by Dimitrios Karageorgiou
  • 20. Deep Neural Architecture Overview 20 Lovpy by Dimitrios Karageorgiou Concatenation Current State Theorem Instance Goal Property Theorem N Theorem 2 Theorem 1 Score N Score 2 Score 1 Current State Graph Encoder Theorem Instance Graph Encoder Goal Property Graph Encoder Current State Graph Theorem Graph Goal Graph
  • 21. Neural Graph Encoder 21 Lovpy by Dimitrios Karageorgiou
  • 22. Evaluation 22  Evaluated five different architectures on proving 2.5k synthetic theorems. Correct Proofs Heuristic 70.7% MLP 59.25 MLP + Heuristic 70.7% GNN 61.6% GNN + Heuristic 73.8% Lovpy by Dimitrios Karageorgiou ► Detected common bugs of 5 different domains, in 20 erroneous python programs.  Detected two bugs in popular open-source projects:  Django Web Framework  Keras
  • 23. Future possibilities ► Public Lovpy’s Repository:  Community written specifications for specific domains (e.g. best practices for using Tensorflow)  Community trained neural models for theorem selection.  Specifications mining for eliminating the need for hand-written specifications.  Natural language support in Gherkin rules. 23 Lovpy by Dimitrios Karageorgiou
  • 24. Questions??? 24 Thanks for watching! Lovpy by Dimitrios Karageorgiou
  • 25. Slides Graveyard 25 Lovpy by Dimitrios Karageorgiou
  • 26. Lovpy is available for everyone! ► Lovpy is available at PyPI: ► Also available as an open-source project on Github: 26 Lovpy by Dimitrios Karageorgiou python –m pip install lovpy https://github.com/dkarageo/lovpy
  • 27. Detecting code violations 27  Detected two bugs in popular open-source projects:  Django Web Framework  Keras Violations Detected Threads Data Neural Math Common Total Heuristic 3 1 2 2 6 14 MLP 1 0 1 2 3 7 MLP + Heuristic 3 1 2 2 6 14 GNN 4 1 1 1 3 12 GNN + Heuristic 5 2 3 2 6 18 ► Detected common bugs of 5 different domains, in 20 erroneous python programs. Lovpy by Dimitrios Karageorgiou
  • 28. Synthetic sample example 28 ► Generated by Lovpy Synthetic Theorems Generator. Lovpy by Dimitrios Karageorgiou