SlideShare a Scribd company logo
1 of 39
Εξαγωγή παραδειγμάτων
χρήσης βιβλιοθηκών κώδικα
από αποθήκες λογισμικού
Παπαβασιλείου Θεμιστοκλής (7375)
Υπό την επίβλεψη του Επίκουρου Καθηγητή
Ανδρέα Λ. Συμεωνίδη
Και του υποψήφιου Διδάκτορα
Θεμιστοκλή Διαμαντόπουλου
Θεσσαλονίκη, 2017
Δομή Παρουσίασης
• Ορισμός Προβλήματος
• Σκοπός της διπλωματικής
• State of the art
• Επισκόπηση συστήματος
• Aξιολόγηση συστήματος
• Συμπεράσματα
• Μελλοντικές επεκτάσεις
• Ερωτήσεις
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 25/4/2017
Ορισμός Προβλήματος
• Έννοιες
• Επαναχρησιμοποίηση κώδικα
• APIs
• Αναζήτηση προτύπων χρήσης API
στη μορφή ακολουθιών εντολών
• Πρόβλημα
• Αδυναμία εύρεσης χρήσιμων
παραδειγμάτων λόγω έλλειψης
επαρκούς τεκμηρίωσης
• Εργαλεία επίλυσης
προβλήματος
• Μηχανές αναζήτησης κώδικα
(Code Search Engines, CSEs)
• Δεν προσφέρουν επαρκή λύση
• Συστήματα προτάσεων στην
Τεχνολογία Λογισμικού
(Recommendation Systems in
Software Engineering, RSSEs)
5/4/2017 Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 3
Σκοπός της διπλωματικής
• Μελέτη της ευρύτερης περιοχής των RSSE
• Παραγωγή επισκόπησης της πρόσφατης βιβλιογραφίας
• Ανάπτυξη συστήματος RSSE για αναζήτηση προτύπων χρήσης κώδικα
• Εξόρυξη συχνών προτύπων χρήσης κώδικα API για συγκεκριμένες
βιβλιοθήκες
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 45/4/2017
State of the art
Συστήματα στη βιβλιογραφία
• MAPO (v1 2006)
• PARSEWeb (2007)
• APIMiner (2013)
• MLUP (2015)
• UP-Miner (2016)
Mερικά μειονεκτήματα
• Δεν υπάρχει εγγύηση για την
ποιότητα του κώδικα που
εισάγεται στα συστήματα ως
προς τη μεταγλωττισιμότητα
• Χρονοβόρα
• Μπορεί να μη λειτουργούν
επαρκώς για λίγα/πολλά
δεδομένα
5/4/2017 Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 5
Επισκόπηση συστήματος
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 65/4/2017
query
Code
Downloader
• Είσοδος: Github Projects
• Έξοδος: Project directories
Code
Preprocessor
• Είσοδος: Project directories
• Έξοδος: CallGraphs
Miner
• Είσοδος: CallGraphs
• Έξοδος: Sequences
Postprocessor
• Είσοδος: Sequences
• Έξοδος: Sequences
Presenter
• Είσοδος: User queries
• Έξοδος: Sequences
Query
`
Επισκόπηση συστήματος
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 75/4/2017
query
Code
Downloader
• Είσοδος: Github Projects
• Έξοδος: Project directories
Code
Preprocessor
• Είσοδος: Project directories
• Έξοδος: CallGraphs
Miner
• Είσοδος: CallGraphs
• Έξοδος: Sequences
Postprocessor
• Είσοδος: Sequences
• Έξοδος: Sequences
Presenter
• Είσοδος: User queries
• Έξοδος: Sequences
Query
`
Code Downloader
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 85/4/2017
Request
• Ερώτημα : “nz.ac.waikato.cms.weka” pom.xml
• Φίλτρα: Maven POM, μέσω του φίλτρου γλώσσας
• Παράγει μια λίστα καταθετηρίων
Temp file
• Εγγραφή των ονομάτων των αποτελεσμάτων αναζήτησης σε προσωρινό αρχείο
Download
• Για κάθε αποτέλεσμα αναζήτησης κατεβάζεται το αντίστοιχο project τοπικά
• Παράγονται φάκελοι με τα εν λόγω projects
Επισκόπηση συστήματος
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 95/4/2017
query
Code
Downloader
• Είσοδος: Github Projects
• Έξοδος: Project directories
Code
Preprocessor
• Είσοδος: Project directories
• Έξοδος: CallGraphs
Miner
• Είσοδος: CallGraphs
• Έξοδος: Sequences
Postprocessor
• Είσοδος: Sequences
• Έξοδος: Sequences
Presenter
• Είσοδος: User queries
• Έξοδος: Sequences
Query
`
Code Preprocessor (1/2)
• Χτίζεται κάθε project με τη χρήση του Maven παράγοντας ένα .jar για
αυτό
• Έμμεσα εξασφαλίζεται το ότι ο κώδικας είναι μεταγλωττίσιμος
• Κάθε .jar εισάγεται στον CallGraph Maker για να μετασχηματιστεί σε
Call graph
• Έτσι κάθε project από .jar μετατρέπεται σε αρχείο κειμένου μέσω στατικής
ανάλυσης κώδικα. Το αρχείο αυτό απαρτίζεται από γραμμές που αφορούν τις
κλήσεις συναρτήσεων μέσα σε αυτό.
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 105/4/2017
Code Preprocessor (2/2)
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 115/4/2017
Επισκόπηση συστήματος
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 125/4/2017
query
Code
Downloader
• Είσοδος: Github Projects
• Έξοδος: Project directories
Code
Preprocessor
• Είσοδος: Project directories
• Έξοδος: CallGraphs
Miner
• Είσοδος: CallGraphs
• Έξοδος: Sequences
Postprocessor
• Είσοδος: Sequences
• Έξοδος: Sequences
Presenter
• Είσοδος: User queries
• Έξοδος: Sequences
Query
`
Miner (1/4)
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 135/4/2017
Λήψη ακολουθιών
απο αρχεία .txt
Επεξεργασία
ακολουθιών
Εξόρυξη
συχνότερων
ακολουθιών
Miner (2/4) – Επεξεργασία ακολουθιών
C:Sample weka.classifiers.meta.MultiBoostAB:setClassifier
C:Sample weka.classifiers.meta.MultiBoostAB:setNumSubCmtys
C:Sample weka.classifiers.meta.MultiBoostAB:buildClassifier
C:Sample java.lang.String:charAt
C:Sample1 weka.core.converters.CSVLoader:setSource
C:Sample2 weka.clusterers.SimpleKMeans:setSeed
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 145/4/2017
C:Sample : [weka.classifiers.meta.MultiBoostAB:setClassifier,
weka.classifiers.meta.MultiBoostAB:setNumSubCmtys,
weka.classifiers.meta.MultiBoostAB:buildClassifier]
C:Sample1 : [weka.core.converters.CSVLoader:setSource]
C:Sample2 : [weka.clusterers.SimpleKMeans:setSeed]
Miner (3/4) – Eξόρυξη συχνότερων προτύπων
• Έννοιες
• Support - Συχνότητα εμφάνισης ακολουθίας
• Συχνή υπακολουθία (Frequent Subsequence, FS) - Μια υπακολουθία η οποία
εμφανίζεται τουλάχιστον s φορές σε ένα σύνολο από ακολουθίες
• Συχνή κλειστή υπακολουθία – Μια συχνή υπακολουθία με τον περιορισμό ότι
δεν εμφανίζεται ως μέλος άλλης συχνής υπακολουθίας με το ίδιο support
• Αλγόριθμος εξόρυξης συχνών κλειστών υπακολουθιών (BIDE)
• Κατασκευάζει πρώτα τις FS
• Τις ελέγχει ως προς την κλειστότητα
• Επιστρέφει μόνο τις FCS
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 155/4/2017
Miner (4/4) – Αλγόριθμος BIDE
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 165/4/2017
Επισκόπηση συστήματος
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 175/4/2017
query
Code
Downloader
• Είσοδος: Github Projects
• Έξοδος: Project directories
Code
Preprocessor
• Είσοδος: Project directories
• Έξοδος: CallGraphs
Miner
• Είσοδος: CallGraphs
• Έξοδος: Sequences
Postprocessor
• Είσοδος: Sequences
• Έξοδος: Sequences
Presenter
• Είσοδος: User queries
• Έξοδος: Sequences
Query
`
Postprocessor (1/4)
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 185/4/2017
Φιλτράρισμα περιττών
παραδειγμάτων και
ομαδοποίηση ανα
πακέτο
Δημιουργία Sequence
Database
Δημιουργία Token
Map
Postprocessor (2/4)
• Φιλτράρισμα και ομαδοποίηση
• Συγχώνευση ακολουθιών που
περιέχονται εξολοκλήρου σε
άλλες, με διατήρηση της
μεγαλύτερης
• Ομαδοποίηση με βάση την
πλειοψηφία του πακέτου που
εμφανίζεται συχνότερα σε μια
ακολουθία
• Παράδειγμα
weka.classifiers.meta.MultiBoostAB:setClassifier
weka.classifiers.meta.MultiBoostAB:setNumSubCmtys
weka.classifiers.meta.MultiBoostAB:buildClassifier
weka.core.Instances:getAttributes
Ομαδοποιείται στο weka.classifiers
5/4/2017 Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 19
Postprocessor (3/4)
• Δημιουργία Sequence Database
• Τρόπος αναφοράς στις ακολουθίες
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 205/4/2017
Δείκτης (ID) Αποτέλεσμα Miner
1 [ (O)weka.core.Instances:<init>,
(M)weka.core.Instances:attribute,
(M)weka.core.Instances:setClass ] : 30
2 [ (M)weka.classifiers.trees.RandomTree:setSeed,
(M)weka.classifiers.trees.RandomTree:buildClassifier ] : 3
3 [ (O)weka.clusterers.ClusterEvaluation:<init>,
(O)weka.core.Instances:<init>,
(M)weka.clusterers.ClusterEvaluation:setClusterer,
(M)weka.clusterers.ClusterEvaluation:evaluateClusterer ] : 12
Postprocessor (4/4)
• Token Map
• Χάρτης που περιέχει τις εμφανίσεις κάθε συνάρτησης σε ακολουθία.
Χρησιμοποιείται στην αναζήτηση αντικειμένων
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 215/4/2017
Αντικείμενο Σύνολο ακολουθιών
που το περιέχουν
(O)weka.core.Instances:<init> {1, 3}
(M)weka.clusterers.ClusterEvaluation:evaluateClusterer {3}
(M)weka.core.ClusterEvaluation:attribute {1}
(M)weka.classifiers.trees.RandomTree:buildClassifier {2}
Επισκόπηση συστήματος
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 225/4/2017
query
Code
Downloader
• Είσοδος: Github Projects
• Έξοδος: Project directories
Code
Preprocessor
• Είσοδος: Project directories
• Έξοδος: CallGraphs
Miner
• Είσοδος: CallGraphs
• Έξοδος: Sequences
Postprocessor
• Είσοδος: Sequences
• Έξοδος: Sequences
Presenter
• Είσοδος: User queries
• Έξοδος: Sequences
Query
`
Presenter (1/3)
Γενική χρήση API
• Για κάθε πακέτο παράγεται
συγκεκριμένος αριθμός
παραδειγμάτων
• Τα παραδείγματα πρέπει να
διαφέρουν κατά 3 εντολές
μεταξύ τους για μεγαλύτερη
κάλυψη σεναρίων χρήσης
Συγκεκριμένες Μέθοδοι
• Χωρίζεται το ερώτημα του χρήστη στα
κενά. Λαμβάνονται οι μέθοδοι.
• Για κάθε μέθοδο γίνεται αναζήτησή
της στο Token Map και με χρήση των
id των ακολουθιών επιστρέφονται τα
παραδείγματα που την περιέχουν από
την SDB
• Ανάλογα την προτίμηση του χρήστη
εμφανίζονται παραδείγματα που
περιέχουν το λογικό OR ή AND των
μεθόδων του ερωτήματός του
5/4/2017 Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 23
Presenter (2/3)
• Αναζήτηση με συγκεκριμένες μεθόδους
• Ερώτημα: method1 method2 χωρίζεται στα διακριτά τμήματα method1, method2
Δημιουργείται ένας χάρτης της μορφής { method1 : {}, method2 : {} }
• Ο εν λόγω χάρτης εμπλουτίζεται με τιμές {method1 : {1,3} , method2 : {2}}
• Έστω ότι ο χρήστης δηλώνει στο σύστημα πως επιθυμεί να δει παραδείγματα
που περιέχουν ή το method1 ή το method2 . Τα σύνολα {1,3} , {2} ενώνονται με
την πράξη της ένωσης με αποτέλεσμα το {1,3,2}.
• Με τη βοήθεια της SDB το σύνολο {1,3,2} μετασχηματίζεται στις αντίστοιχες
ακολουθίες
• Επιστρέφονται παραδείγματα ταξινομημένα βάσει support
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 245/4/2017
Presenter (3/3)
Αποτέλεσμα Miner
[ (O)weka.core.Instances:<init>,
(M)weka.core.Instances:attribute,
(M)weka.core.Instances:setClass ] : 30
[ (O)weka.clusterers.ClusterEvaluation:<init>,
(O)weka.core.Instances:<init>,
(M)weka.clusterers.ClusterEvaluation:setClusterer,
(M)weka.clusterers.ClusterEvaluation:evaluateClusterer ] : 12
[ (M)weka.classifiers.trees.RandomTree:setSeed,
(M)weka.classifiers.trees.RandomTree:buildClassifier ] : 3
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 255/4/2017
Αξιολόγηση
• Δεδομένα εισόδου
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 265/4/2017
Όνομα βιβλιοθήκης Αριθμός project Αριθμός πακέτων Αριθμός μεθόδων API Αντικείμενο
Weka 50 82 12511 Συλλογή αλγορίθμων
Μηχανικής Μάθησης,
οπτικοποίησης
δεδομένων, εξόρυξης
δεδομένων, επεξεργασίας
δεδομένων.
Encog 30 268 5625 Αλγόριθμοι μηχανικής
μάθησης
Mallet 30 60 5474 Επεξεργασία φυσικής
γλώσσας (Natural
Language Processing)
Deeplearning4j 105 237 6323 Νευρωνικά δίκτυα
Stanford NLP 77 98 10521 Συλλογή αλγορίθμων
επεξεργασίας φυσικής
γλώσσας.
Αξιολόγηση
• Δεδομένα εξόδου από το σύστημά μας
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 275/4/2017
API Αριθμός παραδειγμάτων Πλήθος αποθετηρίων
Weka 4892 50
Mallet 2003 30
Encog 1925 30
Deeplearning4j 1761 105
Stanford NLP 3864 77
Μετρικές
Κάλυψη (Coverage) Συνοχή (Cohesion) Ανομοιότητα (Dissimilarity)
%𝐶𝑣𝑔 =
| 𝐴𝑃𝐼 𝑜𝑐𝑐𝑢𝑟𝑒𝑛𝑐𝑒𝑠 𝑖𝑛 𝑟𝑒𝑠𝑢𝑙𝑡𝑠 |
| 𝐴𝑃𝐼 𝑖𝑡𝑒𝑚𝑠 |
%𝐶(𝑠, 𝑛) =
𝑐𝑜𝑚𝑚𝑜𝑛 𝑛
_𝑟𝑎𝑡𝑖𝑜(𝑠, 𝐺𝑖)
|𝑐𝑜𝑚𝑚𝑜𝑛 𝑛(𝑠, 𝐺𝑖)|
%𝐷 𝑠 = 1 −
𝑐𝑜𝑚𝑚𝑜𝑛_𝑟𝑎𝑡𝑖𝑜(𝑠, 𝐺𝑖)
| 𝐺𝑖|
Ποσοστό που δείχνει πόσες από τις
μεθόδους του API συμμετέχουν
στα παραδείγματα που
παράγονται από το σύστημά μας.
Ένας αριθμός που δείχνει πόσο
συχνά χρησιμοποιούνται μαζί οι
μέθοδοι ενός παραδείγματος. Η
τιμή 100% δείχνει πως για το
συγκεκριμένο παράδειγμα όλες οι
μέθοδοι του που υπάρχουν σε
άλλα παραδείγματα, εμφανίζονται
πάντα μαζί. Λαμβάνεται για κάθε
ομάδα ο μέσος όρος.
Αποτελεί ένα μέτρο ανομοιότητας
μεταξύ μιας ακολουθίας και των
υπολοίπων στην ομάδα της.
Υψηλές τιμές δείχνουν μεγάλη
ανομοιότητα, συνεπώς
μοναδικότητα παραδείγματος.
Λαμβάνεται για κάθε ομάδα ο
μέσος όρος.
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 285/4/2017
Κάλυψη
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 295/4/2017
Συνοχή ομάδων weka
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 305/4/2017
Συνοχή υπολοίπων βιβλιοθηκών
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 315/4/2017
Ανομοιότητα ομάδων weka
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 325/4/2017
Ανομοιότητα υπόλοιπων βιβλιοθηκών
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 335/4/2017
Μελέτη περίπτωσης
• Σύγκριση παραδειγμάτων που παρήγαγε το σύστημά μας με αυτά
από μηχανές αναζήτησης
• Google
• Github*
• SearchCode
• ProgramCreek API Examples
• Σε περιπτώσεις εξειδικευμένης αναζήτησης προτύπου χρήσης η
διαδικασία είναι χρονοβόρα
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 345/4/2017
Μελέτη περίπτωσης – Παράδειγμα clustering
Παράδειγμα συστήματος
[ '(O)weka.core.Instances:<init>',
(O)weka.clusterers.SimpleKMeans:<init>',
(M)weka.clusterers.SimpleKMeans:setSeed',
(M)weka.clusterers.SimpleKMeans:setPreser
veInstancesOrder',
(M)weka.clusterers.SimpleKMeans:setNumClu
sters',
(M)weka.clusterers.SimpleKMeans:buildClus
terer',
(M)weka.clusterers.SimpleKMeans:toString'
]
5/4/2017 Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 35
Μελέτη περίπτωσης – Παράδειγμα clustering
Παράδειγμα συστήματος
[ '(O)weka.core.Instances:<init>',
(O)weka.clusterers.SimpleKMeans:<init>',
(M)weka.clusterers.SimpleKMeans:setSeed',
(M)weka.clusterers.SimpleKMeans:setPreser
veInstancesOrder',
(M)weka.clusterers.SimpleKMeans:setNumClu
sters',
(M)weka.clusterers.SimpleKMeans:buildClus
terer',
(M)weka.clusterers.SimpleKMeans:toString'
]
Παράδειγμα αναζήτησης στο Google
5/4/2017 Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 36
Συμπεράσματα
• API Usage Mining – Ανοικτό, πολύπλευρο και δύσκολο πρόβλημα
• Ακόμη και για τον μικρό αριθμό παραδειγμάτων στην παρούσα
εργασία ο αριθμός παραδειγμάτων ήταν μεγάλος. Η
μεταεπεξεργασία των δεδομένων είναι αναγκαία
• Η κλιμάκωση του συστήματος θα χρειαστεί ειδικές δομές
αποθήκευσης και αναζήτησης.
• Tο σύστημά μας φαίνεται να παράγει διαφορετικά παραδείγματα
χωρίς να θυσιάζει συνεκτικότητα
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 375/4/2017
Μελλοντική εργασία
• Απλή γραφική διεπαφή
• Δομή επανατροφοδότησης σχετικά με την ποιότητα των
αποτελεσμάτων
• Επέκταση σε άλλες γλώσσες με προσθήκη αντίστοιχου εργαλείου
στατικής ανάλυσης κώδικα
• Ομαδοποίηση με αλγορίθμους αντί για ευριστικές τεχνικές στην
μεταεπεξεργασία
Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 385/4/2017
5/4/2017 Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 39
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?

More Related Content

What's hot

Επανοργάνωση πηγαίου κώδικα από γράφους εξαρτήσεων οντοτήτων µε βάση παραδείγ...
Επανοργάνωση πηγαίου κώδικα από γράφους εξαρτήσεων οντοτήτων µε βάση παραδείγ...Επανοργάνωση πηγαίου κώδικα από γράφους εξαρτήσεων οντοτήτων µε βάση παραδείγ...
Επανοργάνωση πηγαίου κώδικα από γράφους εξαρτήσεων οντοτήτων µε βάση παραδείγ...ISSEL
 
Alexandros Delitzas Diploma Thesis presentation
Alexandros Delitzas Diploma Thesis presentationAlexandros Delitzas Diploma Thesis presentation
Alexandros Delitzas Diploma Thesis presentationISSEL
 
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούΑνάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούISSEL
 
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...ISSEL
 
Konstantinos Papadopoulos Diploma Thesis presenation
Konstantinos Papadopoulos Diploma Thesis presenationKonstantinos Papadopoulos Diploma Thesis presenation
Konstantinos Papadopoulos Diploma Thesis presenationISSEL
 
Ioannis Loias
Ioannis LoiasIoannis Loias
Ioannis LoiasISSEL
 
Stelios poulakakis daktylidis diploma thesis presentation
Stelios poulakakis daktylidis diploma thesis presentationStelios poulakakis daktylidis diploma thesis presentation
Stelios poulakakis daktylidis diploma thesis presentationISSEL
 
Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...
Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...
Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...ISSEL
 
Κωνσταντίνος Σιδέρης 7254
Κωνσταντίνος Σιδέρης 7254Κωνσταντίνος Σιδέρης 7254
Κωνσταντίνος Σιδέρης 7254ISSEL
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...ISSEL
 
Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185ISSEL
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...ISSEL
 

What's hot (12)

Επανοργάνωση πηγαίου κώδικα από γράφους εξαρτήσεων οντοτήτων µε βάση παραδείγ...
Επανοργάνωση πηγαίου κώδικα από γράφους εξαρτήσεων οντοτήτων µε βάση παραδείγ...Επανοργάνωση πηγαίου κώδικα από γράφους εξαρτήσεων οντοτήτων µε βάση παραδείγ...
Επανοργάνωση πηγαίου κώδικα από γράφους εξαρτήσεων οντοτήτων µε βάση παραδείγ...
 
Alexandros Delitzas Diploma Thesis presentation
Alexandros Delitzas Diploma Thesis presentationAlexandros Delitzas Diploma Thesis presentation
Alexandros Delitzas Diploma Thesis presentation
 
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούΑνάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
 
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
 
Konstantinos Papadopoulos Diploma Thesis presenation
Konstantinos Papadopoulos Diploma Thesis presenationKonstantinos Papadopoulos Diploma Thesis presenation
Konstantinos Papadopoulos Diploma Thesis presenation
 
Ioannis Loias
Ioannis LoiasIoannis Loias
Ioannis Loias
 
Stelios poulakakis daktylidis diploma thesis presentation
Stelios poulakakis daktylidis diploma thesis presentationStelios poulakakis daktylidis diploma thesis presentation
Stelios poulakakis daktylidis diploma thesis presentation
 
Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...
Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...
Υλοποίηση εργαλείου πλήρους στοίβας σε περιβάλλον Kubernetes για την αυτοµατο...
 
Κωνσταντίνος Σιδέρης 7254
Κωνσταντίνος Σιδέρης 7254Κωνσταντίνος Σιδέρης 7254
Κωνσταντίνος Σιδέρης 7254
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
 
Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
 

Similar to Θεμιστοκλής Παπαβασιλείου

Συλλογικοί Κατάλογοι & Διαδίκτυο
Συλλογικοί Κατάλογοι & ΔιαδίκτυοΣυλλογικοί Κατάλογοι & Διαδίκτυο
Συλλογικοί Κατάλογοι & ΔιαδίκτυοLevadia Library
 
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...ISSEL
 
Design and Implementation of a Mechanism that automates the generation of Sof...
Design and Implementation of a Mechanism that automates the generation of Sof...Design and Implementation of a Mechanism that automates the generation of Sof...
Design and Implementation of a Mechanism that automates the generation of Sof...ISSEL
 
Applying Data Mining Techniques on Software Repositories to Extract Design an...
Applying Data Mining Techniques on Software Repositories to Extract Design an...Applying Data Mining Techniques on Software Repositories to Extract Design an...
Applying Data Mining Techniques on Software Repositories to Extract Design an...ISSEL
 
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...ISSEL
 
Keyword-based software library recommendation in order to bootstrap software ...
Keyword-based software library recommendation in order to bootstrap software ...Keyword-based software library recommendation in order to bootstrap software ...
Keyword-based software library recommendation in order to bootstrap software ...ISSEL
 
Nikolaos Oikonomou
Nikolaos OikonomouNikolaos Oikonomou
Nikolaos OikonomouISSEL
 
Μιχαήλ Παπαμιχαήλ
Μιχαήλ ΠαπαμιχαήλΜιχαήλ Παπαμιχαήλ
Μιχαήλ ΠαπαμιχαήλISSEL
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...ISSEL
 
Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485ISSEL
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
 
Εισαγωγή καινοτομιών στον Πανελλήνιο Διαγωνισμό Εκπαιδευτικής Ρομποτικής | Αν...
Εισαγωγή καινοτομιών στον Πανελλήνιο Διαγωνισμό Εκπαιδευτικής Ρομποτικής | Αν...Εισαγωγή καινοτομιών στον Πανελλήνιο Διαγωνισμό Εκπαιδευτικής Ρομποτικής | Αν...
Εισαγωγή καινοτομιών στον Πανελλήνιο Διαγωνισμό Εκπαιδευτικής Ρομποτικής | Αν...WROHellas
 
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...ISSEL
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...ISSEL
 
Ιωάννη Α. Ζαφειρίου
Ιωάννη Α. ΖαφειρίουΙωάννη Α. Ζαφειρίου
Ιωάννη Α. ΖαφειρίουISSEL
 
Κλέαρχος Θωμόπουλος 7435
Κλέαρχος Θωμόπουλος 7435Κλέαρχος Θωμόπουλος 7435
Κλέαρχος Θωμόπουλος 7435ISSEL
 
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...ISSEL
 
Analysis and profiling of developer profiles using data mining techniques fro...
Analysis and profiling of developer profiles using data mining techniques fro...Analysis and profiling of developer profiles using data mining techniques fro...
Analysis and profiling of developer profiles using data mining techniques fro...ISSEL
 
Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...
Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...
Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...Manos Tsardoulias
 

Similar to Θεμιστοκλής Παπαβασιλείου (20)

Συλλογικοί Κατάλογοι & Διαδίκτυο
Συλλογικοί Κατάλογοι & ΔιαδίκτυοΣυλλογικοί Κατάλογοι & Διαδίκτυο
Συλλογικοί Κατάλογοι & Διαδίκτυο
 
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
 
Design and Implementation of a Mechanism that automates the generation of Sof...
Design and Implementation of a Mechanism that automates the generation of Sof...Design and Implementation of a Mechanism that automates the generation of Sof...
Design and Implementation of a Mechanism that automates the generation of Sof...
 
Applying Data Mining Techniques on Software Repositories to Extract Design an...
Applying Data Mining Techniques on Software Repositories to Extract Design an...Applying Data Mining Techniques on Software Repositories to Extract Design an...
Applying Data Mining Techniques on Software Repositories to Extract Design an...
 
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
 
Keyword-based software library recommendation in order to bootstrap software ...
Keyword-based software library recommendation in order to bootstrap software ...Keyword-based software library recommendation in order to bootstrap software ...
Keyword-based software library recommendation in order to bootstrap software ...
 
Nikolaos Oikonomou
Nikolaos OikonomouNikolaos Oikonomou
Nikolaos Oikonomou
 
Μιχαήλ Παπαμιχαήλ
Μιχαήλ ΠαπαμιχαήλΜιχαήλ Παπαμιχαήλ
Μιχαήλ Παπαμιχαήλ
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
 
Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
 
Εισαγωγή καινοτομιών στον Πανελλήνιο Διαγωνισμό Εκπαιδευτικής Ρομποτικής | Αν...
Εισαγωγή καινοτομιών στον Πανελλήνιο Διαγωνισμό Εκπαιδευτικής Ρομποτικής | Αν...Εισαγωγή καινοτομιών στον Πανελλήνιο Διαγωνισμό Εκπαιδευτικής Ρομποτικής | Αν...
Εισαγωγή καινοτομιών στον Πανελλήνιο Διαγωνισμό Εκπαιδευτικής Ρομποτικής | Αν...
 
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
Applying Data Mining Techniques to Extract Fix Patterns for Static Analysis V...
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
 
Ιωάννη Α. Ζαφειρίου
Ιωάννη Α. ΖαφειρίουΙωάννη Α. Ζαφειρίου
Ιωάννη Α. Ζαφειρίου
 
Κλέαρχος Θωμόπουλος 7435
Κλέαρχος Θωμόπουλος 7435Κλέαρχος Θωμόπουλος 7435
Κλέαρχος Θωμόπουλος 7435
 
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
 
Analysis and profiling of developer profiles using data mining techniques fro...
Analysis and profiling of developer profiles using data mining techniques fro...Analysis and profiling of developer profiles using data mining techniques fro...
Analysis and profiling of developer profiles using data mining techniques fro...
 
grails framework
grails frameworkgrails framework
grails framework
 
Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...
Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...
Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...
 

More from 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
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxISSEL
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...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 environmentsISSEL
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...ISSEL
 
Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...ISSEL
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ISSEL
 
Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...ISSEL
 

More from 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
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
 
Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
 
Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...
 

Recently uploaded

RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣHRODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣHROUT Family
 
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOYEKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOYssuser369a35
 
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptxΠασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx36dimperist
 
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptxΠασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx36dimperist
 
Μια νύχτα σε κατάστημα παιχνιδιών.pdf
Μια νύχτα σε κατάστημα             παιχνιδιών.pdfΜια νύχτα σε κατάστημα             παιχνιδιών.pdf
Μια νύχτα σε κατάστημα παιχνιδιών.pdfDimitra Mylonaki
 
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑΜια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑDimitra Mylonaki
 
ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24
ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24
ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-242lykkomo
 
ΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptx
ΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptxΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptx
ΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptxssuserb0ed14
 
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΓιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΟΛΓΑ ΤΣΕΧΕΛΙΔΟΥ
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008Θεόδωρος Μαραγκούλας
 
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της ΙταλίαςKonstantina Katirtzi
 
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxΗ Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxeucharis
 
ΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdf
ΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdfΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdf
ΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdfssuserf9afe7
 
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη              στο 11ο Γυμνάσιο ΠάτραςΕπίσκεψη              στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη στο 11ο Γυμνάσιο ΠάτραςDimitra Mylonaki
 
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptxΠασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx36dimperist
 

Recently uploaded (15)

RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣHRODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
RODOPI CHALLENGE (ROC 50 MILES) 2024 ΤΕΧΝΙΚΗ ΕΝΗΜΕΡΩΣH
 
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOYEKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
 
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptxΠασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
 
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptxΠασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
 
Μια νύχτα σε κατάστημα παιχνιδιών.pdf
Μια νύχτα σε κατάστημα             παιχνιδιών.pdfΜια νύχτα σε κατάστημα             παιχνιδιών.pdf
Μια νύχτα σε κατάστημα παιχνιδιών.pdf
 
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑΜια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
 
ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24
ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24
ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24
 
ΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptx
ΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptxΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptx
ΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptx
 
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΓιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
 
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
 
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxΗ Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
 
ΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdf
ΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdfΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdf
ΠΑΝΕΛΛΗΝΙΕΣ 2024 ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ ΚΑΙ ΛΟΓΟΤΕΧΝΙΑ.pdf
 
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη              στο 11ο Γυμνάσιο ΠάτραςΕπίσκεψη              στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
 
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptxΠασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
 

Θεμιστοκλής Παπαβασιλείου

  • 1. Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού Παπαβασιλείου Θεμιστοκλής (7375) Υπό την επίβλεψη του Επίκουρου Καθηγητή Ανδρέα Λ. Συμεωνίδη Και του υποψήφιου Διδάκτορα Θεμιστοκλή Διαμαντόπουλου Θεσσαλονίκη, 2017
  • 2. Δομή Παρουσίασης • Ορισμός Προβλήματος • Σκοπός της διπλωματικής • State of the art • Επισκόπηση συστήματος • Aξιολόγηση συστήματος • Συμπεράσματα • Μελλοντικές επεκτάσεις • Ερωτήσεις Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 25/4/2017
  • 3. Ορισμός Προβλήματος • Έννοιες • Επαναχρησιμοποίηση κώδικα • APIs • Αναζήτηση προτύπων χρήσης API στη μορφή ακολουθιών εντολών • Πρόβλημα • Αδυναμία εύρεσης χρήσιμων παραδειγμάτων λόγω έλλειψης επαρκούς τεκμηρίωσης • Εργαλεία επίλυσης προβλήματος • Μηχανές αναζήτησης κώδικα (Code Search Engines, CSEs) • Δεν προσφέρουν επαρκή λύση • Συστήματα προτάσεων στην Τεχνολογία Λογισμικού (Recommendation Systems in Software Engineering, RSSEs) 5/4/2017 Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 3
  • 4. Σκοπός της διπλωματικής • Μελέτη της ευρύτερης περιοχής των RSSE • Παραγωγή επισκόπησης της πρόσφατης βιβλιογραφίας • Ανάπτυξη συστήματος RSSE για αναζήτηση προτύπων χρήσης κώδικα • Εξόρυξη συχνών προτύπων χρήσης κώδικα API για συγκεκριμένες βιβλιοθήκες Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 45/4/2017
  • 5. State of the art Συστήματα στη βιβλιογραφία • MAPO (v1 2006) • PARSEWeb (2007) • APIMiner (2013) • MLUP (2015) • UP-Miner (2016) Mερικά μειονεκτήματα • Δεν υπάρχει εγγύηση για την ποιότητα του κώδικα που εισάγεται στα συστήματα ως προς τη μεταγλωττισιμότητα • Χρονοβόρα • Μπορεί να μη λειτουργούν επαρκώς για λίγα/πολλά δεδομένα 5/4/2017 Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 5
  • 6. Επισκόπηση συστήματος Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 65/4/2017 query Code Downloader • Είσοδος: Github Projects • Έξοδος: Project directories Code Preprocessor • Είσοδος: Project directories • Έξοδος: CallGraphs Miner • Είσοδος: CallGraphs • Έξοδος: Sequences Postprocessor • Είσοδος: Sequences • Έξοδος: Sequences Presenter • Είσοδος: User queries • Έξοδος: Sequences Query `
  • 7. Επισκόπηση συστήματος Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 75/4/2017 query Code Downloader • Είσοδος: Github Projects • Έξοδος: Project directories Code Preprocessor • Είσοδος: Project directories • Έξοδος: CallGraphs Miner • Είσοδος: CallGraphs • Έξοδος: Sequences Postprocessor • Είσοδος: Sequences • Έξοδος: Sequences Presenter • Είσοδος: User queries • Έξοδος: Sequences Query `
  • 8. Code Downloader Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 85/4/2017 Request • Ερώτημα : “nz.ac.waikato.cms.weka” pom.xml • Φίλτρα: Maven POM, μέσω του φίλτρου γλώσσας • Παράγει μια λίστα καταθετηρίων Temp file • Εγγραφή των ονομάτων των αποτελεσμάτων αναζήτησης σε προσωρινό αρχείο Download • Για κάθε αποτέλεσμα αναζήτησης κατεβάζεται το αντίστοιχο project τοπικά • Παράγονται φάκελοι με τα εν λόγω projects
  • 9. Επισκόπηση συστήματος Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 95/4/2017 query Code Downloader • Είσοδος: Github Projects • Έξοδος: Project directories Code Preprocessor • Είσοδος: Project directories • Έξοδος: CallGraphs Miner • Είσοδος: CallGraphs • Έξοδος: Sequences Postprocessor • Είσοδος: Sequences • Έξοδος: Sequences Presenter • Είσοδος: User queries • Έξοδος: Sequences Query `
  • 10. Code Preprocessor (1/2) • Χτίζεται κάθε project με τη χρήση του Maven παράγοντας ένα .jar για αυτό • Έμμεσα εξασφαλίζεται το ότι ο κώδικας είναι μεταγλωττίσιμος • Κάθε .jar εισάγεται στον CallGraph Maker για να μετασχηματιστεί σε Call graph • Έτσι κάθε project από .jar μετατρέπεται σε αρχείο κειμένου μέσω στατικής ανάλυσης κώδικα. Το αρχείο αυτό απαρτίζεται από γραμμές που αφορούν τις κλήσεις συναρτήσεων μέσα σε αυτό. Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 105/4/2017
  • 11. Code Preprocessor (2/2) Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 115/4/2017
  • 12. Επισκόπηση συστήματος Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 125/4/2017 query Code Downloader • Είσοδος: Github Projects • Έξοδος: Project directories Code Preprocessor • Είσοδος: Project directories • Έξοδος: CallGraphs Miner • Είσοδος: CallGraphs • Έξοδος: Sequences Postprocessor • Είσοδος: Sequences • Έξοδος: Sequences Presenter • Είσοδος: User queries • Έξοδος: Sequences Query `
  • 13. Miner (1/4) Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 135/4/2017 Λήψη ακολουθιών απο αρχεία .txt Επεξεργασία ακολουθιών Εξόρυξη συχνότερων ακολουθιών
  • 14. Miner (2/4) – Επεξεργασία ακολουθιών C:Sample weka.classifiers.meta.MultiBoostAB:setClassifier C:Sample weka.classifiers.meta.MultiBoostAB:setNumSubCmtys C:Sample weka.classifiers.meta.MultiBoostAB:buildClassifier C:Sample java.lang.String:charAt C:Sample1 weka.core.converters.CSVLoader:setSource C:Sample2 weka.clusterers.SimpleKMeans:setSeed Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 145/4/2017 C:Sample : [weka.classifiers.meta.MultiBoostAB:setClassifier, weka.classifiers.meta.MultiBoostAB:setNumSubCmtys, weka.classifiers.meta.MultiBoostAB:buildClassifier] C:Sample1 : [weka.core.converters.CSVLoader:setSource] C:Sample2 : [weka.clusterers.SimpleKMeans:setSeed]
  • 15. Miner (3/4) – Eξόρυξη συχνότερων προτύπων • Έννοιες • Support - Συχνότητα εμφάνισης ακολουθίας • Συχνή υπακολουθία (Frequent Subsequence, FS) - Μια υπακολουθία η οποία εμφανίζεται τουλάχιστον s φορές σε ένα σύνολο από ακολουθίες • Συχνή κλειστή υπακολουθία – Μια συχνή υπακολουθία με τον περιορισμό ότι δεν εμφανίζεται ως μέλος άλλης συχνής υπακολουθίας με το ίδιο support • Αλγόριθμος εξόρυξης συχνών κλειστών υπακολουθιών (BIDE) • Κατασκευάζει πρώτα τις FS • Τις ελέγχει ως προς την κλειστότητα • Επιστρέφει μόνο τις FCS Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 155/4/2017
  • 16. Miner (4/4) – Αλγόριθμος BIDE Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 165/4/2017
  • 17. Επισκόπηση συστήματος Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 175/4/2017 query Code Downloader • Είσοδος: Github Projects • Έξοδος: Project directories Code Preprocessor • Είσοδος: Project directories • Έξοδος: CallGraphs Miner • Είσοδος: CallGraphs • Έξοδος: Sequences Postprocessor • Είσοδος: Sequences • Έξοδος: Sequences Presenter • Είσοδος: User queries • Έξοδος: Sequences Query `
  • 18. Postprocessor (1/4) Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 185/4/2017 Φιλτράρισμα περιττών παραδειγμάτων και ομαδοποίηση ανα πακέτο Δημιουργία Sequence Database Δημιουργία Token Map
  • 19. Postprocessor (2/4) • Φιλτράρισμα και ομαδοποίηση • Συγχώνευση ακολουθιών που περιέχονται εξολοκλήρου σε άλλες, με διατήρηση της μεγαλύτερης • Ομαδοποίηση με βάση την πλειοψηφία του πακέτου που εμφανίζεται συχνότερα σε μια ακολουθία • Παράδειγμα weka.classifiers.meta.MultiBoostAB:setClassifier weka.classifiers.meta.MultiBoostAB:setNumSubCmtys weka.classifiers.meta.MultiBoostAB:buildClassifier weka.core.Instances:getAttributes Ομαδοποιείται στο weka.classifiers 5/4/2017 Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 19
  • 20. Postprocessor (3/4) • Δημιουργία Sequence Database • Τρόπος αναφοράς στις ακολουθίες Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 205/4/2017 Δείκτης (ID) Αποτέλεσμα Miner 1 [ (O)weka.core.Instances:<init>, (M)weka.core.Instances:attribute, (M)weka.core.Instances:setClass ] : 30 2 [ (M)weka.classifiers.trees.RandomTree:setSeed, (M)weka.classifiers.trees.RandomTree:buildClassifier ] : 3 3 [ (O)weka.clusterers.ClusterEvaluation:<init>, (O)weka.core.Instances:<init>, (M)weka.clusterers.ClusterEvaluation:setClusterer, (M)weka.clusterers.ClusterEvaluation:evaluateClusterer ] : 12
  • 21. Postprocessor (4/4) • Token Map • Χάρτης που περιέχει τις εμφανίσεις κάθε συνάρτησης σε ακολουθία. Χρησιμοποιείται στην αναζήτηση αντικειμένων Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 215/4/2017 Αντικείμενο Σύνολο ακολουθιών που το περιέχουν (O)weka.core.Instances:<init> {1, 3} (M)weka.clusterers.ClusterEvaluation:evaluateClusterer {3} (M)weka.core.ClusterEvaluation:attribute {1} (M)weka.classifiers.trees.RandomTree:buildClassifier {2}
  • 22. Επισκόπηση συστήματος Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 225/4/2017 query Code Downloader • Είσοδος: Github Projects • Έξοδος: Project directories Code Preprocessor • Είσοδος: Project directories • Έξοδος: CallGraphs Miner • Είσοδος: CallGraphs • Έξοδος: Sequences Postprocessor • Είσοδος: Sequences • Έξοδος: Sequences Presenter • Είσοδος: User queries • Έξοδος: Sequences Query `
  • 23. Presenter (1/3) Γενική χρήση API • Για κάθε πακέτο παράγεται συγκεκριμένος αριθμός παραδειγμάτων • Τα παραδείγματα πρέπει να διαφέρουν κατά 3 εντολές μεταξύ τους για μεγαλύτερη κάλυψη σεναρίων χρήσης Συγκεκριμένες Μέθοδοι • Χωρίζεται το ερώτημα του χρήστη στα κενά. Λαμβάνονται οι μέθοδοι. • Για κάθε μέθοδο γίνεται αναζήτησή της στο Token Map και με χρήση των id των ακολουθιών επιστρέφονται τα παραδείγματα που την περιέχουν από την SDB • Ανάλογα την προτίμηση του χρήστη εμφανίζονται παραδείγματα που περιέχουν το λογικό OR ή AND των μεθόδων του ερωτήματός του 5/4/2017 Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 23
  • 24. Presenter (2/3) • Αναζήτηση με συγκεκριμένες μεθόδους • Ερώτημα: method1 method2 χωρίζεται στα διακριτά τμήματα method1, method2 Δημιουργείται ένας χάρτης της μορφής { method1 : {}, method2 : {} } • Ο εν λόγω χάρτης εμπλουτίζεται με τιμές {method1 : {1,3} , method2 : {2}} • Έστω ότι ο χρήστης δηλώνει στο σύστημα πως επιθυμεί να δει παραδείγματα που περιέχουν ή το method1 ή το method2 . Τα σύνολα {1,3} , {2} ενώνονται με την πράξη της ένωσης με αποτέλεσμα το {1,3,2}. • Με τη βοήθεια της SDB το σύνολο {1,3,2} μετασχηματίζεται στις αντίστοιχες ακολουθίες • Επιστρέφονται παραδείγματα ταξινομημένα βάσει support Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 245/4/2017
  • 25. Presenter (3/3) Αποτέλεσμα Miner [ (O)weka.core.Instances:<init>, (M)weka.core.Instances:attribute, (M)weka.core.Instances:setClass ] : 30 [ (O)weka.clusterers.ClusterEvaluation:<init>, (O)weka.core.Instances:<init>, (M)weka.clusterers.ClusterEvaluation:setClusterer, (M)weka.clusterers.ClusterEvaluation:evaluateClusterer ] : 12 [ (M)weka.classifiers.trees.RandomTree:setSeed, (M)weka.classifiers.trees.RandomTree:buildClassifier ] : 3 Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 255/4/2017
  • 26. Αξιολόγηση • Δεδομένα εισόδου Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 265/4/2017 Όνομα βιβλιοθήκης Αριθμός project Αριθμός πακέτων Αριθμός μεθόδων API Αντικείμενο Weka 50 82 12511 Συλλογή αλγορίθμων Μηχανικής Μάθησης, οπτικοποίησης δεδομένων, εξόρυξης δεδομένων, επεξεργασίας δεδομένων. Encog 30 268 5625 Αλγόριθμοι μηχανικής μάθησης Mallet 30 60 5474 Επεξεργασία φυσικής γλώσσας (Natural Language Processing) Deeplearning4j 105 237 6323 Νευρωνικά δίκτυα Stanford NLP 77 98 10521 Συλλογή αλγορίθμων επεξεργασίας φυσικής γλώσσας.
  • 27. Αξιολόγηση • Δεδομένα εξόδου από το σύστημά μας Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 275/4/2017 API Αριθμός παραδειγμάτων Πλήθος αποθετηρίων Weka 4892 50 Mallet 2003 30 Encog 1925 30 Deeplearning4j 1761 105 Stanford NLP 3864 77
  • 28. Μετρικές Κάλυψη (Coverage) Συνοχή (Cohesion) Ανομοιότητα (Dissimilarity) %𝐶𝑣𝑔 = | 𝐴𝑃𝐼 𝑜𝑐𝑐𝑢𝑟𝑒𝑛𝑐𝑒𝑠 𝑖𝑛 𝑟𝑒𝑠𝑢𝑙𝑡𝑠 | | 𝐴𝑃𝐼 𝑖𝑡𝑒𝑚𝑠 | %𝐶(𝑠, 𝑛) = 𝑐𝑜𝑚𝑚𝑜𝑛 𝑛 _𝑟𝑎𝑡𝑖𝑜(𝑠, 𝐺𝑖) |𝑐𝑜𝑚𝑚𝑜𝑛 𝑛(𝑠, 𝐺𝑖)| %𝐷 𝑠 = 1 − 𝑐𝑜𝑚𝑚𝑜𝑛_𝑟𝑎𝑡𝑖𝑜(𝑠, 𝐺𝑖) | 𝐺𝑖| Ποσοστό που δείχνει πόσες από τις μεθόδους του API συμμετέχουν στα παραδείγματα που παράγονται από το σύστημά μας. Ένας αριθμός που δείχνει πόσο συχνά χρησιμοποιούνται μαζί οι μέθοδοι ενός παραδείγματος. Η τιμή 100% δείχνει πως για το συγκεκριμένο παράδειγμα όλες οι μέθοδοι του που υπάρχουν σε άλλα παραδείγματα, εμφανίζονται πάντα μαζί. Λαμβάνεται για κάθε ομάδα ο μέσος όρος. Αποτελεί ένα μέτρο ανομοιότητας μεταξύ μιας ακολουθίας και των υπολοίπων στην ομάδα της. Υψηλές τιμές δείχνουν μεγάλη ανομοιότητα, συνεπώς μοναδικότητα παραδείγματος. Λαμβάνεται για κάθε ομάδα ο μέσος όρος. Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 285/4/2017
  • 29. Κάλυψη Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 295/4/2017
  • 30. Συνοχή ομάδων weka Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 305/4/2017
  • 31. Συνοχή υπολοίπων βιβλιοθηκών Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 315/4/2017
  • 32. Ανομοιότητα ομάδων weka Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 325/4/2017
  • 33. Ανομοιότητα υπόλοιπων βιβλιοθηκών Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 335/4/2017
  • 34. Μελέτη περίπτωσης • Σύγκριση παραδειγμάτων που παρήγαγε το σύστημά μας με αυτά από μηχανές αναζήτησης • Google • Github* • SearchCode • ProgramCreek API Examples • Σε περιπτώσεις εξειδικευμένης αναζήτησης προτύπου χρήσης η διαδικασία είναι χρονοβόρα Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 345/4/2017
  • 35. Μελέτη περίπτωσης – Παράδειγμα clustering Παράδειγμα συστήματος [ '(O)weka.core.Instances:<init>', (O)weka.clusterers.SimpleKMeans:<init>', (M)weka.clusterers.SimpleKMeans:setSeed', (M)weka.clusterers.SimpleKMeans:setPreser veInstancesOrder', (M)weka.clusterers.SimpleKMeans:setNumClu sters', (M)weka.clusterers.SimpleKMeans:buildClus terer', (M)weka.clusterers.SimpleKMeans:toString' ] 5/4/2017 Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 35
  • 36. Μελέτη περίπτωσης – Παράδειγμα clustering Παράδειγμα συστήματος [ '(O)weka.core.Instances:<init>', (O)weka.clusterers.SimpleKMeans:<init>', (M)weka.clusterers.SimpleKMeans:setSeed', (M)weka.clusterers.SimpleKMeans:setPreser veInstancesOrder', (M)weka.clusterers.SimpleKMeans:setNumClu sters', (M)weka.clusterers.SimpleKMeans:buildClus terer', (M)weka.clusterers.SimpleKMeans:toString' ] Παράδειγμα αναζήτησης στο Google 5/4/2017 Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 36
  • 37. Συμπεράσματα • API Usage Mining – Ανοικτό, πολύπλευρο και δύσκολο πρόβλημα • Ακόμη και για τον μικρό αριθμό παραδειγμάτων στην παρούσα εργασία ο αριθμός παραδειγμάτων ήταν μεγάλος. Η μεταεπεξεργασία των δεδομένων είναι αναγκαία • Η κλιμάκωση του συστήματος θα χρειαστεί ειδικές δομές αποθήκευσης και αναζήτησης. • Tο σύστημά μας φαίνεται να παράγει διαφορετικά παραδείγματα χωρίς να θυσιάζει συνεκτικότητα Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 375/4/2017
  • 38. Μελλοντική εργασία • Απλή γραφική διεπαφή • Δομή επανατροφοδότησης σχετικά με την ποιότητα των αποτελεσμάτων • Επέκταση σε άλλες γλώσσες με προσθήκη αντίστοιχου εργαλείου στατικής ανάλυσης κώδικα • Ομαδοποίηση με αλγορίθμους αντί για ευριστικές τεχνικές στην μεταεπεξεργασία Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 385/4/2017
  • 39. 5/4/2017 Εξαγωγή παραδειγμάτων χρήσης βιβλιοθηκών κώδικα από αποθήκες λογισμικού 39 ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ?