SlideShare a Scribd company logo
Σύστημα υπόδειξης βιβλιοθηκών
με σκοπό την επανάχρηση
τμημάτων λογισμικού
Θεόφιλος Γεωργιάδης,
ΑΕΜ 8124
Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης,
Τμήμα Ηλεκτρολόγων Μηχανικων
Eπιβλέποντας:
Ανδρέας Συμεωνίδης
Συνεπιβλέποντας:
Εμμανουήλ Κρασανάκης
07-10-2020
Σκοπός της διπλωματικής εργασίας
 Ανάπτυξη ενός συστήματος το οποίο θα προτείνει έτοιμες βιβλιοθήκες για τη γλώσσα python
χρησιμοποιώντας ερωτήματα σε φυσική γλώσσα.
 Ένα σύστημα που θα προτείνει όχι μόνο σωστές βιβλιοθήκες αλλά θα προτείνει και πολλές
διαφορετικές. Για αυτό θα αξιολογήσουμε το σύστημα με βάση το γινόμενο δυο μετρικών. Το
HR@10 (πόσες σωστές βιβλιοθήκες προβλέπονται) και Coverage (πόση διασπορά υπάρχει σε
αυτές)
 Να γλυτώσουμε το προγραμματιστή από πολύτιμο χρόνο που θα έπρεπε να αφιερώσει για να
συγκρίνει αποτελέσματα σε μηχανές αναζήτησης ώστε βρει τη βιβλιοθήκη που τον ενδιαφέρει.
 Ανάλυση των παρόμοιων συστημάτων που υπάρχουν στη βιβλιογραφία με σκοπό την ανάδειξη
των πλεονεκτημάτων του δικού μας συστήματος.
Ιούνιος 2020 Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
2
Γνώσεις που αποκτήθηκαν
 Εξοικίωση με τη γλώσσα python
 Γνώσεις για την λειτουργία των συστημάτων προτάσεων
 Γράφοι και τεχνικές εξαγωγής συμπερασμάτων
 Τεχνικές που χρησιμοποιούνται στην επεξεργασία φυσικής γλώσσας
και στον τομέα της μηχανικής μάθησης
Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
3
Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
4
Λειτουργία συστήματος
How to get current time
Λέξεις κλειδιά: current, time
Τιμές ομοιότητας για κάθε
βιβλιοθήκη με τις λέξεις
current, time
10 βιβλιοθήκες με τη
μεγαλύτερη τιμή ομοιότητας
Παράδειγμα χρήσης
Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
5
Εισαγωγή
Δεδομένων
Εισαγωγή στο
γράφο
Εξαγωγή λέξεων
κλειδιών και
βιβλιοθηκών
Αρχεία κώδικα
Εξαγωγή
αναπαράστασης
Γράφος
Βιβλιοθήκες/ λέξεις
κλειδιά αρχείου
Υπολογισμός
ομοιότητας με
κάθε βιβλιοθήκη
Λέξεις κλειδιά
Πίνακας 16
διαστάσεων για
κάθε κόμβο
10 προτεινόμενες
βιβλιοθήκες
Αρχιτεκτονική μοντέλου πρόβλεψης
Παράδειγμα γράφου
Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
6
Ακμές μόνο μεταξύ βιβλιοθηκών-λέξεων κλειδιών.
Δεν υπάρχουν ακμές μεταξύ βιβλιοθηκών ή λέξεων κλειδιών.
Για κάθε λέξη-κλειδί που συνεμφανίζεται μαζί με μια βιβλιοθήκη σε ένα αρχείο κώδικα
η μέθοδο ενός έργου λογισμικού, υπάρχει ακμή.
Ως βάρος της ακμής ορίζεται ο αριθμός των αρχείων στα οποία συνεμφανίζονται.
Μεθοδολογία
Ιούνιος 2020
Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
7 Αναπαράσταση Γράφου
Χρησιμοποιείται η μέθοδος line που χρησιμοποιεί δυο εγγύτητες (1ου , 2ου ) και
συνδυασμός αυτών, για την εξαγωγή τους.
Μέθοδοι Υπολογισμού Ομοιότητας
3 διαφορετικού μέθοδοι (cosine, dot, learned). Το learned είναι ένα
μοντέλο πρόβλεψης που εκπαιδεύσαμε.
Χρησιμοποιήθηκε η συχνότητα IDF για τις βιβλιοθήκες και τις λέξεις κλειδιά όπως
και λημματοποίηση των λέξεων κλειδιών.
Βελτίωση αποτελεσμάτων
Ιούνιος 2020
Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
8
Εκπαίδευση
Για κάθε μέθοδο εξήγαμε τις λέξεις κλειδιά και τις βιβλιοθήκες. Για τις λέξεις κλειδιά
χρησιμοποιήσαμε την περιγραφή της μεθόδου και για τις βιβλιοθήκες τον σώμα της.
Έπειτα, ενώσαμε τις λέξεις κλειδιά με τις βιβλιοθήκες στο γράφο.
Έλεγχος
Για κάθε έργο εξήγαμε όλες τις λέξεις κλειδιά και τις βιβλιοθήκες του με την ίδια
διαδικασία. Έπειτα, χρησιμοποιώντας τις λέξεις κλειδιά του κάθε έργου
επιχειρήσαμε να προβλέψουμε τις βιβλιοθήκες.
Σετ έργων λογισμικού: 584 έργα λογισμικού τα οποία αποτελούνται από
100000 μεθόδους (80% για εκπαίδευση και 20% για έλεγχο).
Πείραμα στα διάφορα έργα λογισμικού
Χρήση IDF
Χαρακτηριστικά μεθόδου πρόβλεψης Μετρικές Αξιολόγησης
Εγγ.1 Εγγ. 2 IDF Ομοιότητα HR@10 AUC NDCG Coverage HR@10*Coverage
   cosine .25 .57 .57 .77 .19
   dot .25 .57 .57 .77 .19
   learned .45 .75 .70 .08 .03
  × cosine .22 .58 .55 .80 .18
  × dot .22 .58 .55 .80 .18
  × learned .21 .66 .52 .38 .10
Χρήση bag of words .32 .78 .71 .005 .002
Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
9
Πείραμα στα διάφορα έργα λογισμικού
Διαφορετικές εγγύτητες και ομοιότητες
Χρήση IDF: +46% στη μετρική HR@10
Καλύτερη μέθοδος με βάση το HR@10*Coverage: Χρήση IDF, Συνδυασμός
εγγυητών (1ου και 2ου), Ομοιότητα dot
Χαρακτηριστικά μεθόδου πρόβλεψης Μετρικές Αξιολόγησης
Εγγ.1 Εγγ. 2 IDF Ομοιότητα HR@10 AUC NDCG Coverage HR@10*Coverage
 ×  cosine .22 .56 .55 .76 .17
 ×  dot .22 .56 .55 .76 .17
 ×  learned .30 .63 .60 .57 .17
×   cosine .07 .28 .41 .33 .02
×   dot .07 .28 .41 .33 .02
×   learned .44 .73 .70 .11 .05
   cosine .25 .57 .57 .77 .19
   dot .25 .57 .57 .77 .19
   learned .45 .75 .70 .08 .03
Χρήση bag of words .32 .78 .71 .005 .002
Πείραμα keras
Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
10 Σετ έργου λογισμικού keras: 64 αρχεία κώδικα (80% για εκπαίδευση και 20%
για έλεγχο)
Εκπαίδευση-έλεγχος: Ίδια διαδικασία με πριν χωρίς ύπαρξη μεθόδων και έργων
Πείραματα Χρήση IDF, 3 μέθοδοι υπολογισμού εγγύτητας και ομοιότητας
Χρήση IDF
Χαρακτηριστικά μεθόδου πρόβλεψης Μετρικές Αξιολόγησης
Εγγ.1 Εγγ. 2 IDF Ομοιότητα HR@10 AUC NDCG Coverage HR@10*Coverage
   cosine .30 .47 .62 .39 .12
   dot .29 .46 .59 .44 .13
   learned .61 .92 .93 .20 .12
  × cosine .10 .29 .43 .41 .04
  × dot .12 .30 .44 .37 .04
  × learned .46 .81 .77 .21 .10
Χρήση bag of words .67 .95 .95 .12 .08
Πείραμα keras
Ιούνιος
2020
Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
11
Διαφορετικές εγγύτητες και ομοιότητες
Με χρήση IDF +77% στη μετρική HR@10
Καλύτερη μέθοδος με βάση το HR@10*Coverage: Χρήση IDF,
Εγγύτητα 1ου βαθμού, Ομοιότητα cosine
Χαρακτηριστικά μεθόδου πρόβλεψης Μετρικές Αξιολόγησης
Εγγ.1 Εγγ. 2 IDF Ομοιότητα HR@10 AUC NDCG Coverage HR@10*Coverage
 ×  cosine .42 .68 .74 .54 .23
 ×  dot .43 .69 .74 .40 .17
 ×  learned .53 .88 .81 .25 .13
×   cosine .01 .04 .32 .38 .00
×   dot .01 .04 .32 .32 .00
×   learned .62 .95 .92 .22 .14
   cosine .30 .47 .62 .39 .12
   dot .29 .46 .59 .44 .13
   learned .61 .92 .93 .20 .12
Χρήση bag of words .67 .95 .95 .12 .08
Ιούνιος
2020
Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
12
Πείραμα σε δημοφιλή ερωτήματα
Σύγκριση απόδοσης συστήματος σε 14 δημοφιλή ερωτήματα του Stack
Overflow
Στα 10 από τα 14 ερωτήματα το σύστημα προέβλεψε σωστές βιβλιοθήκες και
σε κάποιες περιπτώσεις, άλλες χρήσιμες βιβλιοθήκες. (αναλυτικά αποτελέσματα
στο τέλος)
Αρ. Ερώτημα
1 How to call an external command
2 How to sort a dictionary by value
3 Convert string representation of a list to a list
4 How do I merge two dictionaries into a single expression
5 How to convert string into datetime
6 How to import a module given the full path
7 How to get current time
8 How do I concatenate two lists
9 How to count occurrences of a list item
10 How do I download a file over HTTP
11 How to use threading
12 How to connect to MySQL database
13 How to write JSON data to a file
14 How to get posted JSON in Flask
Συμπεράσματα
 Τα καλύτερα αποτελέσματα εμφανίζει η μέθοδος line για υπολογισμό των
embeddings, με χρήση του dot similarity ή cosine και του tf-idf.
 Το μοντέλο δεν μπορεί να εξάγει ποιοτικά αποτελέσματα μόνο με τη χρήση του
γράφου (bag of words) γιατί προβλέπει συνέχεια τις ίδιες βιβλιοθήκες.
 Η επιλογή του να μάθουμε την ομοιότητα δεν προσφέρει βελτίωση
αποτελεσμάτων στο σύστημα. Θα μπορούσαμε να τη χρησιμοποιήσουμε αν
ενδιαφερόμασταν για ένα σύστημα που προβλέπει πολλές σωστές βιβλιοθήκες
αλλά έχει μικρή διασπορά.
 Ο αλγόριθμος line για τα embeddings δίνει τα καλύτερα αποτελέσματα,
δοκιμάστηκε και ο node2vec που έδινε πολύ χαμηλά αποτελέσματα.
 Σε dataset με λιγότερες βιβλιοθήκες όπως το keras, το σύστημα δίνει καλύτερα
αποτελέσματα.
 Οπως έγινε εμφανές στο πείραμα με τα ερωτήματα, το σύστημα συμπεριφέρεται
καλά σε πρακτικά προβλήματα που συναντιούνται συχνά.
Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
13
Μελλοντική εργασία
 Βελτίωση της αναπαράστασης του γράφου
 Συνδυασμός διαφορετικών μεθόδων πρόβλεψης
 Επέκταση σε άλλες γλώσσες
Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
14
Ευχαριστίες
Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
15
Θα ήθελα να ευχαριστήσω τον Κ. Συμεωνίδη που με επέλεξε για τη
διπλωματική και τον διπλωματικό φοιτητή Μανώλη για την πολύτιμη
βοήθεια και την καθοδήγηση του κ άθολη τη διάρκεια της διπλωματικής
Ερωτήσεις
Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
16
?
Πείραμα σε δημοφιλή ερωτήματα
Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
17
Αποτελέσματα
Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
18
Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
19
Ιούνιος
2020
Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού
20

More Related Content

What's hot

Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
ISSEL
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
ISSEL
 
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης της παραμετροποίησης ρομποτι...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης της παραμετροποίησης ρομποτι...Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης της παραμετροποίησης ρομποτι...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης της παραμετροποίησης ρομποτι...
ISSEL
 
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούΑνάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
ISSEL
 
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή διαδικασίας αρχικής προσφοράς ...
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή  διαδικασίας αρχικής προσφοράς ...Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή  διαδικασίας αρχικής προσφοράς ...
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή διαδικασίας αρχικής προσφοράς ...
ISSEL
 
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ISSEL
 
Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185
ISSEL
 
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...
ISSEL
 
Θεμιστοκλής Παπαβασιλείου
Θεμιστοκλής ΠαπαβασιλείουΘεμιστοκλής Παπαβασιλείου
Θεμιστοκλής Παπαβασιλείου
ISSEL
 
Dontsios Dimitris
Dontsios DimitrisDontsios Dimitris
Dontsios Dimitris
ISSEL
 
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσ...
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών  για απομακρυσμένα ρομπότ, στο πλαίσ...Μεθοδολογία ανάπτυξης γραφικών εφαρμογών  για απομακρυσμένα ρομπότ, στο πλαίσ...
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσ...
ISSEL
 
Maria Ioanna Sifaki
Maria Ioanna SifakiMaria Ioanna Sifaki
Maria Ioanna Sifaki
ISSEL
 
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
ISSEL
 
Έγκαιρη ταυτοποίηση βλαβών με αλγόριθμους Μηχανικής Mάθησης
Έγκαιρη ταυτοποίηση βλαβών με αλγόριθμους Μηχανικής MάθησηςΈγκαιρη ταυτοποίηση βλαβών με αλγόριθμους Μηχανικής Mάθησης
Έγκαιρη ταυτοποίηση βλαβών με αλγόριθμους Μηχανικής Mάθησης
ISSEL
 
Μαρία Κουιρουκίδου
Μαρία ΚουιρουκίδουΜαρία Κουιρουκίδου
Μαρία Κουιρουκίδου
ISSEL
 
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής ΝοημοσύνηςΕντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
ISSEL
 

What's hot (16)

Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με  σκοπό την Εξα...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...
 
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης της παραμετροποίησης ρομποτι...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης της παραμετροποίησης ρομποτι...Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης της παραμετροποίησης ρομποτι...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης της παραμετροποίησης ρομποτι...
 
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούΑνάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
 
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή διαδικασίας αρχικής προσφοράς ...
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή  διαδικασίας αρχικής προσφοράς ...Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή  διαδικασίας αρχικής προσφοράς ...
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή διαδικασίας αρχικής προσφοράς ...
 
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
 
Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185
 
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...
 
Θεμιστοκλής Παπαβασιλείου
Θεμιστοκλής ΠαπαβασιλείουΘεμιστοκλής Παπαβασιλείου
Θεμιστοκλής Παπαβασιλείου
 
Dontsios Dimitris
Dontsios DimitrisDontsios Dimitris
Dontsios Dimitris
 
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσ...
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών  για απομακρυσμένα ρομπότ, στο πλαίσ...Μεθοδολογία ανάπτυξης γραφικών εφαρμογών  για απομακρυσμένα ρομπότ, στο πλαίσ...
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσ...
 
Maria Ioanna Sifaki
Maria Ioanna SifakiMaria Ioanna Sifaki
Maria Ioanna Sifaki
 
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
 
Έγκαιρη ταυτοποίηση βλαβών με αλγόριθμους Μηχανικής Mάθησης
Έγκαιρη ταυτοποίηση βλαβών με αλγόριθμους Μηχανικής MάθησηςΈγκαιρη ταυτοποίηση βλαβών με αλγόριθμους Μηχανικής Mάθησης
Έγκαιρη ταυτοποίηση βλαβών με αλγόριθμους Μηχανικής Mάθησης
 
Μαρία Κουιρουκίδου
Μαρία ΚουιρουκίδουΜαρία Κουιρουκίδου
Μαρία Κουιρουκίδου
 
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής ΝοημοσύνηςΕντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
 

Similar to Theofilos Georgiadis: Library recommendation system for the reuse of software parts

Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419
ISSEL
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
ISSEL
 
KanoutasThomasThesis
KanoutasThomasThesisKanoutasThomasThesis
KanoutasThomasThesis
ThomasKanoutas
 
Konstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis PresentationKonstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis Presentation
ISSEL
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
ISSEL
 
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
 
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
 
DATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGY
DATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGYDATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGY
DATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGY
GeorgeDiamandis11
 
Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010ISSEL
 
Maria - Christina Maniou Diploma Thesis Presentation
Maria - Christina Maniou Diploma Thesis PresentationMaria - Christina Maniou Diploma Thesis Presentation
Maria - Christina Maniou Diploma Thesis Presentation
ISSEL
 
SxedioDrasis2022-23
SxedioDrasis2022-23SxedioDrasis2022-23
SxedioDrasis2022-23
Tassos Karampinis
 
Avouris teaching python
Avouris teaching pythonAvouris teaching python
Avouris teaching python
Nikolaos Avouris
 
A rule-based approach for the real-time semantic annotation in context-aware ...
A rule-based approach for the real-time semantic annotation in context-aware ...A rule-based approach for the real-time semantic annotation in context-aware ...
A rule-based approach for the real-time semantic annotation in context-aware ...
Nikolaos Konstantinou
 
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
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
 
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
 
Ιωάννη Α. Ζαφειρίου
Ιωάννη Α. ΖαφειρίουΙωάννη Α. Ζαφειρίου
Ιωάννη Α. Ζαφειρίου
ISSEL
 
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
ISSEL
 
Παρουσίαση Hadoop, MapReduce και Mahout στο 1o Hadoop UserGroup meetup
Παρουσίαση Hadoop, MapReduce και Mahout στο 1o Hadoop UserGroup meetupΠαρουσίαση Hadoop, MapReduce και Mahout στο 1o Hadoop UserGroup meetup
Παρουσίαση Hadoop, MapReduce και Mahout στο 1o Hadoop UserGroup meetup
Ioannis Konstantinou
 

Similar to Theofilos Georgiadis: Library recommendation system for the reuse of software parts (20)

Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
 
KanoutasThomasThesis
KanoutasThomasThesisKanoutasThomasThesis
KanoutasThomasThesis
 
Konstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis PresentationKonstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis Presentation
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
 
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...
 
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...
 
Μαρίνα Γέραλη
Μαρίνα Γέραλη Μαρίνα Γέραλη
Μαρίνα Γέραλη
 
DATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGY
DATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGYDATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGY
DATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGY
 
Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010
 
Maria - Christina Maniou Diploma Thesis Presentation
Maria - Christina Maniou Diploma Thesis PresentationMaria - Christina Maniou Diploma Thesis Presentation
Maria - Christina Maniou Diploma Thesis Presentation
 
SxedioDrasis2022-23
SxedioDrasis2022-23SxedioDrasis2022-23
SxedioDrasis2022-23
 
Avouris teaching python
Avouris teaching pythonAvouris teaching python
Avouris teaching python
 
A rule-based approach for the real-time semantic annotation in context-aware ...
A rule-based approach for the real-time semantic annotation in context-aware ...A rule-based approach for the real-time semantic annotation in context-aware ...
A rule-based approach for the real-time semantic annotation in context-aware ...
 
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
 
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 ...
 
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...
 
Ιωάννη Α. Ζαφειρίου
Ιωάννη Α. ΖαφειρίουΙωάννη Α. Ζαφειρίου
Ιωάννη Α. Ζαφειρίου
 
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
Θεματική Μοντελοποίηση και Σύστημα Συστάσεων Απαιτήσεων Λογισμικού με χρήση Μ...
 
Παρουσίαση Hadoop, MapReduce και Mahout στο 1o Hadoop UserGroup meetup
Παρουσίαση Hadoop, MapReduce και Mahout στο 1o Hadoop UserGroup meetupΠαρουσίαση Hadoop, MapReduce και Mahout στο 1o Hadoop UserGroup meetup
Παρουσίαση Hadoop, MapReduce και Mahout στο 1o Hadoop UserGroup meetup
 

More from Manos Tsardoulias

Ευρωστία νευρωνικών δικτύων βαθειάς μάθησης - Ακανθόπουλος Ηλίας
Ευρωστία νευρωνικών δικτύων βαθειάς μάθησης - Ακανθόπουλος ΗλίαςΕυρωστία νευρωνικών δικτύων βαθειάς μάθησης - Ακανθόπουλος Ηλίας
Ευρωστία νευρωνικών δικτύων βαθειάς μάθησης - Ακανθόπουλος Ηλίας
Manos Tsardoulias
 
Alexandros Delitzas: Understanding website aesthetics using deep learning
Alexandros Delitzas: Understanding website aesthetics using deep learningAlexandros Delitzas: Understanding website aesthetics using deep learning
Alexandros Delitzas: Understanding website aesthetics using deep learning
Manos Tsardoulias
 
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...
Manos Tsardoulias
 
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
 
Charis Eleftheriadis. Towards evaluating Deep Neural Networks’ Robustness to ...
Charis Eleftheriadis. Towards evaluating Deep Neural Networks’ Robustness to ...Charis Eleftheriadis. Towards evaluating Deep Neural Networks’ Robustness to ...
Charis Eleftheriadis. Towards evaluating Deep Neural Networks’ Robustness to ...
Manos Tsardoulias
 
Pavlos Avgoustinakis: Video retrieval based on audio content from large scale...
Pavlos Avgoustinakis: Video retrieval based on audio content from large scale...Pavlos Avgoustinakis: Video retrieval based on audio content from large scale...
Pavlos Avgoustinakis: Video retrieval based on audio content from large scale...
Manos Tsardoulias
 
Gougousis Dimitris: Development of an automated machine learning system for p...
Gougousis Dimitris: Development of an automated machine learning system for p...Gougousis Dimitris: Development of an automated machine learning system for p...
Gougousis Dimitris: Development of an automated machine learning system for p...
Manos Tsardoulias
 
Despoina Touska: Video Forgery Detection using Autoencoder and Recurrent Neur...
Despoina Touska: Video Forgery Detection using Autoencoder and Recurrent Neur...Despoina Touska: Video Forgery Detection using Autoencoder and Recurrent Neur...
Despoina Touska: Video Forgery Detection using Autoencoder and Recurrent Neur...
Manos Tsardoulias
 
Kelesakis Dimitrios thesis: Enhancing the conversion rate of e-shops with dyn...
Kelesakis Dimitrios thesis: Enhancing the conversion rate of e-shops with dyn...Kelesakis Dimitrios thesis: Enhancing the conversion rate of e-shops with dyn...
Kelesakis Dimitrios thesis: Enhancing the conversion rate of e-shops with dyn...
Manos Tsardoulias
 
Rafail Brouzos thesis
Rafail Brouzos thesisRafail Brouzos thesis
Rafail Brouzos thesis
Manos Tsardoulias
 
Thesis presentation georgios-balaouras
Thesis presentation georgios-balaourasThesis presentation georgios-balaouras
Thesis presentation georgios-balaouras
Manos Tsardoulias
 
Pandora Robotics Team - 2007 to 2015 - ECE, AUTH
Pandora Robotics Team - 2007 to 2015 - ECE, AUTHPandora Robotics Team - 2007 to 2015 - ECE, AUTH
Pandora Robotics Team - 2007 to 2015 - ECE, AUTH
Manos Tsardoulias
 
Full coverage of a priori known map from multiple robotic agents
Full coverage of a priori known map from multiple robotic agentsFull coverage of a priori known map from multiple robotic agents
Full coverage of a priori known map from multiple robotic agents
Manos Tsardoulias
 

More from Manos Tsardoulias (13)

Ευρωστία νευρωνικών δικτύων βαθειάς μάθησης - Ακανθόπουλος Ηλίας
Ευρωστία νευρωνικών δικτύων βαθειάς μάθησης - Ακανθόπουλος ΗλίαςΕυρωστία νευρωνικών δικτύων βαθειάς μάθησης - Ακανθόπουλος Ηλίας
Ευρωστία νευρωνικών δικτύων βαθειάς μάθησης - Ακανθόπουλος Ηλίας
 
Alexandros Delitzas: Understanding website aesthetics using deep learning
Alexandros Delitzas: Understanding website aesthetics using deep learningAlexandros Delitzas: Understanding website aesthetics using deep learning
Alexandros Delitzas: Understanding website aesthetics using deep learning
 
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...
Giannopoulos Nikolaos: Ανάπτυξη Τεχνικών Εξατομίκευσης Διαφημιστικών Προβολών...
 
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...
 
Charis Eleftheriadis. Towards evaluating Deep Neural Networks’ Robustness to ...
Charis Eleftheriadis. Towards evaluating Deep Neural Networks’ Robustness to ...Charis Eleftheriadis. Towards evaluating Deep Neural Networks’ Robustness to ...
Charis Eleftheriadis. Towards evaluating Deep Neural Networks’ Robustness to ...
 
Pavlos Avgoustinakis: Video retrieval based on audio content from large scale...
Pavlos Avgoustinakis: Video retrieval based on audio content from large scale...Pavlos Avgoustinakis: Video retrieval based on audio content from large scale...
Pavlos Avgoustinakis: Video retrieval based on audio content from large scale...
 
Gougousis Dimitris: Development of an automated machine learning system for p...
Gougousis Dimitris: Development of an automated machine learning system for p...Gougousis Dimitris: Development of an automated machine learning system for p...
Gougousis Dimitris: Development of an automated machine learning system for p...
 
Despoina Touska: Video Forgery Detection using Autoencoder and Recurrent Neur...
Despoina Touska: Video Forgery Detection using Autoencoder and Recurrent Neur...Despoina Touska: Video Forgery Detection using Autoencoder and Recurrent Neur...
Despoina Touska: Video Forgery Detection using Autoencoder and Recurrent Neur...
 
Kelesakis Dimitrios thesis: Enhancing the conversion rate of e-shops with dyn...
Kelesakis Dimitrios thesis: Enhancing the conversion rate of e-shops with dyn...Kelesakis Dimitrios thesis: Enhancing the conversion rate of e-shops with dyn...
Kelesakis Dimitrios thesis: Enhancing the conversion rate of e-shops with dyn...
 
Rafail Brouzos thesis
Rafail Brouzos thesisRafail Brouzos thesis
Rafail Brouzos thesis
 
Thesis presentation georgios-balaouras
Thesis presentation georgios-balaourasThesis presentation georgios-balaouras
Thesis presentation georgios-balaouras
 
Pandora Robotics Team - 2007 to 2015 - ECE, AUTH
Pandora Robotics Team - 2007 to 2015 - ECE, AUTHPandora Robotics Team - 2007 to 2015 - ECE, AUTH
Pandora Robotics Team - 2007 to 2015 - ECE, AUTH
 
Full coverage of a priori known map from multiple robotic agents
Full coverage of a priori known map from multiple robotic agentsFull coverage of a priori known map from multiple robotic agents
Full coverage of a priori known map from multiple robotic agents
 

Theofilos Georgiadis: Library recommendation system for the reuse of software parts

  • 1. Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού Θεόφιλος Γεωργιάδης, ΑΕΜ 8124 Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης, Τμήμα Ηλεκτρολόγων Μηχανικων Eπιβλέποντας: Ανδρέας Συμεωνίδης Συνεπιβλέποντας: Εμμανουήλ Κρασανάκης 07-10-2020
  • 2. Σκοπός της διπλωματικής εργασίας  Ανάπτυξη ενός συστήματος το οποίο θα προτείνει έτοιμες βιβλιοθήκες για τη γλώσσα python χρησιμοποιώντας ερωτήματα σε φυσική γλώσσα.  Ένα σύστημα που θα προτείνει όχι μόνο σωστές βιβλιοθήκες αλλά θα προτείνει και πολλές διαφορετικές. Για αυτό θα αξιολογήσουμε το σύστημα με βάση το γινόμενο δυο μετρικών. Το HR@10 (πόσες σωστές βιβλιοθήκες προβλέπονται) και Coverage (πόση διασπορά υπάρχει σε αυτές)  Να γλυτώσουμε το προγραμματιστή από πολύτιμο χρόνο που θα έπρεπε να αφιερώσει για να συγκρίνει αποτελέσματα σε μηχανές αναζήτησης ώστε βρει τη βιβλιοθήκη που τον ενδιαφέρει.  Ανάλυση των παρόμοιων συστημάτων που υπάρχουν στη βιβλιογραφία με σκοπό την ανάδειξη των πλεονεκτημάτων του δικού μας συστήματος. Ιούνιος 2020 Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 2
  • 3. Γνώσεις που αποκτήθηκαν  Εξοικίωση με τη γλώσσα python  Γνώσεις για την λειτουργία των συστημάτων προτάσεων  Γράφοι και τεχνικές εξαγωγής συμπερασμάτων  Τεχνικές που χρησιμοποιούνται στην επεξεργασία φυσικής γλώσσας και στον τομέα της μηχανικής μάθησης Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 3
  • 4. Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 4 Λειτουργία συστήματος How to get current time Λέξεις κλειδιά: current, time Τιμές ομοιότητας για κάθε βιβλιοθήκη με τις λέξεις current, time 10 βιβλιοθήκες με τη μεγαλύτερη τιμή ομοιότητας Παράδειγμα χρήσης
  • 5. Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 5 Εισαγωγή Δεδομένων Εισαγωγή στο γράφο Εξαγωγή λέξεων κλειδιών και βιβλιοθηκών Αρχεία κώδικα Εξαγωγή αναπαράστασης Γράφος Βιβλιοθήκες/ λέξεις κλειδιά αρχείου Υπολογισμός ομοιότητας με κάθε βιβλιοθήκη Λέξεις κλειδιά Πίνακας 16 διαστάσεων για κάθε κόμβο 10 προτεινόμενες βιβλιοθήκες Αρχιτεκτονική μοντέλου πρόβλεψης
  • 6. Παράδειγμα γράφου Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 6 Ακμές μόνο μεταξύ βιβλιοθηκών-λέξεων κλειδιών. Δεν υπάρχουν ακμές μεταξύ βιβλιοθηκών ή λέξεων κλειδιών. Για κάθε λέξη-κλειδί που συνεμφανίζεται μαζί με μια βιβλιοθήκη σε ένα αρχείο κώδικα η μέθοδο ενός έργου λογισμικού, υπάρχει ακμή. Ως βάρος της ακμής ορίζεται ο αριθμός των αρχείων στα οποία συνεμφανίζονται.
  • 7. Μεθοδολογία Ιούνιος 2020 Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 7 Αναπαράσταση Γράφου Χρησιμοποιείται η μέθοδος line που χρησιμοποιεί δυο εγγύτητες (1ου , 2ου ) και συνδυασμός αυτών, για την εξαγωγή τους. Μέθοδοι Υπολογισμού Ομοιότητας 3 διαφορετικού μέθοδοι (cosine, dot, learned). Το learned είναι ένα μοντέλο πρόβλεψης που εκπαιδεύσαμε. Χρησιμοποιήθηκε η συχνότητα IDF για τις βιβλιοθήκες και τις λέξεις κλειδιά όπως και λημματοποίηση των λέξεων κλειδιών. Βελτίωση αποτελεσμάτων
  • 8. Ιούνιος 2020 Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 8 Εκπαίδευση Για κάθε μέθοδο εξήγαμε τις λέξεις κλειδιά και τις βιβλιοθήκες. Για τις λέξεις κλειδιά χρησιμοποιήσαμε την περιγραφή της μεθόδου και για τις βιβλιοθήκες τον σώμα της. Έπειτα, ενώσαμε τις λέξεις κλειδιά με τις βιβλιοθήκες στο γράφο. Έλεγχος Για κάθε έργο εξήγαμε όλες τις λέξεις κλειδιά και τις βιβλιοθήκες του με την ίδια διαδικασία. Έπειτα, χρησιμοποιώντας τις λέξεις κλειδιά του κάθε έργου επιχειρήσαμε να προβλέψουμε τις βιβλιοθήκες. Σετ έργων λογισμικού: 584 έργα λογισμικού τα οποία αποτελούνται από 100000 μεθόδους (80% για εκπαίδευση και 20% για έλεγχο). Πείραμα στα διάφορα έργα λογισμικού Χρήση IDF Χαρακτηριστικά μεθόδου πρόβλεψης Μετρικές Αξιολόγησης Εγγ.1 Εγγ. 2 IDF Ομοιότητα HR@10 AUC NDCG Coverage HR@10*Coverage    cosine .25 .57 .57 .77 .19    dot .25 .57 .57 .77 .19    learned .45 .75 .70 .08 .03   × cosine .22 .58 .55 .80 .18   × dot .22 .58 .55 .80 .18   × learned .21 .66 .52 .38 .10 Χρήση bag of words .32 .78 .71 .005 .002
  • 9. Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 9 Πείραμα στα διάφορα έργα λογισμικού Διαφορετικές εγγύτητες και ομοιότητες Χρήση IDF: +46% στη μετρική HR@10 Καλύτερη μέθοδος με βάση το HR@10*Coverage: Χρήση IDF, Συνδυασμός εγγυητών (1ου και 2ου), Ομοιότητα dot Χαρακτηριστικά μεθόδου πρόβλεψης Μετρικές Αξιολόγησης Εγγ.1 Εγγ. 2 IDF Ομοιότητα HR@10 AUC NDCG Coverage HR@10*Coverage  ×  cosine .22 .56 .55 .76 .17  ×  dot .22 .56 .55 .76 .17  ×  learned .30 .63 .60 .57 .17 ×   cosine .07 .28 .41 .33 .02 ×   dot .07 .28 .41 .33 .02 ×   learned .44 .73 .70 .11 .05    cosine .25 .57 .57 .77 .19    dot .25 .57 .57 .77 .19    learned .45 .75 .70 .08 .03 Χρήση bag of words .32 .78 .71 .005 .002
  • 10. Πείραμα keras Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 10 Σετ έργου λογισμικού keras: 64 αρχεία κώδικα (80% για εκπαίδευση και 20% για έλεγχο) Εκπαίδευση-έλεγχος: Ίδια διαδικασία με πριν χωρίς ύπαρξη μεθόδων και έργων Πείραματα Χρήση IDF, 3 μέθοδοι υπολογισμού εγγύτητας και ομοιότητας Χρήση IDF Χαρακτηριστικά μεθόδου πρόβλεψης Μετρικές Αξιολόγησης Εγγ.1 Εγγ. 2 IDF Ομοιότητα HR@10 AUC NDCG Coverage HR@10*Coverage    cosine .30 .47 .62 .39 .12    dot .29 .46 .59 .44 .13    learned .61 .92 .93 .20 .12   × cosine .10 .29 .43 .41 .04   × dot .12 .30 .44 .37 .04   × learned .46 .81 .77 .21 .10 Χρήση bag of words .67 .95 .95 .12 .08
  • 11. Πείραμα keras Ιούνιος 2020 Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 11 Διαφορετικές εγγύτητες και ομοιότητες Με χρήση IDF +77% στη μετρική HR@10 Καλύτερη μέθοδος με βάση το HR@10*Coverage: Χρήση IDF, Εγγύτητα 1ου βαθμού, Ομοιότητα cosine Χαρακτηριστικά μεθόδου πρόβλεψης Μετρικές Αξιολόγησης Εγγ.1 Εγγ. 2 IDF Ομοιότητα HR@10 AUC NDCG Coverage HR@10*Coverage  ×  cosine .42 .68 .74 .54 .23  ×  dot .43 .69 .74 .40 .17  ×  learned .53 .88 .81 .25 .13 ×   cosine .01 .04 .32 .38 .00 ×   dot .01 .04 .32 .32 .00 ×   learned .62 .95 .92 .22 .14    cosine .30 .47 .62 .39 .12    dot .29 .46 .59 .44 .13    learned .61 .92 .93 .20 .12 Χρήση bag of words .67 .95 .95 .12 .08
  • 12. Ιούνιος 2020 Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 12 Πείραμα σε δημοφιλή ερωτήματα Σύγκριση απόδοσης συστήματος σε 14 δημοφιλή ερωτήματα του Stack Overflow Στα 10 από τα 14 ερωτήματα το σύστημα προέβλεψε σωστές βιβλιοθήκες και σε κάποιες περιπτώσεις, άλλες χρήσιμες βιβλιοθήκες. (αναλυτικά αποτελέσματα στο τέλος) Αρ. Ερώτημα 1 How to call an external command 2 How to sort a dictionary by value 3 Convert string representation of a list to a list 4 How do I merge two dictionaries into a single expression 5 How to convert string into datetime 6 How to import a module given the full path 7 How to get current time 8 How do I concatenate two lists 9 How to count occurrences of a list item 10 How do I download a file over HTTP 11 How to use threading 12 How to connect to MySQL database 13 How to write JSON data to a file 14 How to get posted JSON in Flask
  • 13. Συμπεράσματα  Τα καλύτερα αποτελέσματα εμφανίζει η μέθοδος line για υπολογισμό των embeddings, με χρήση του dot similarity ή cosine και του tf-idf.  Το μοντέλο δεν μπορεί να εξάγει ποιοτικά αποτελέσματα μόνο με τη χρήση του γράφου (bag of words) γιατί προβλέπει συνέχεια τις ίδιες βιβλιοθήκες.  Η επιλογή του να μάθουμε την ομοιότητα δεν προσφέρει βελτίωση αποτελεσμάτων στο σύστημα. Θα μπορούσαμε να τη χρησιμοποιήσουμε αν ενδιαφερόμασταν για ένα σύστημα που προβλέπει πολλές σωστές βιβλιοθήκες αλλά έχει μικρή διασπορά.  Ο αλγόριθμος line για τα embeddings δίνει τα καλύτερα αποτελέσματα, δοκιμάστηκε και ο node2vec που έδινε πολύ χαμηλά αποτελέσματα.  Σε dataset με λιγότερες βιβλιοθήκες όπως το keras, το σύστημα δίνει καλύτερα αποτελέσματα.  Οπως έγινε εμφανές στο πείραμα με τα ερωτήματα, το σύστημα συμπεριφέρεται καλά σε πρακτικά προβλήματα που συναντιούνται συχνά. Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 13
  • 14. Μελλοντική εργασία  Βελτίωση της αναπαράστασης του γράφου  Συνδυασμός διαφορετικών μεθόδων πρόβλεψης  Επέκταση σε άλλες γλώσσες Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 14
  • 15. Ευχαριστίες Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 15 Θα ήθελα να ευχαριστήσω τον Κ. Συμεωνίδη που με επέλεξε για τη διπλωματική και τον διπλωματικό φοιτητή Μανώλη για την πολύτιμη βοήθεια και την καθοδήγηση του κ άθολη τη διάρκεια της διπλωματικής
  • 16. Ερωτήσεις Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 16 ?
  • 17. Πείραμα σε δημοφιλή ερωτήματα Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 17 Αποτελέσματα
  • 18. Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 18
  • 19. Ιούνιος 2020Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 19
  • 20. Ιούνιος 2020 Σύστημα υπόδειξης βιβλιοθηκών με σκοπό την επανάχρηση τμημάτων λογισμικού 20