SlideShare a Scribd company logo
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με
σκοπό την Εξαγωγή Προτύπων Σχεδίασης και Εξέλιξης
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ
ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ
Τμήμα Ηλεκτρολόγων Μηχανικών και
Μηχανικών Υπολογιστών
Εργαστήριο Επεξεργασίας Πληροφορίας και
Υπολογισμών
Διπλωματική Εργασία
Φοιτητής: Καγιάφας Νικόλαος
Αριθμός Ειδικού Μητρώου (A.E.M.): 8817
Επιβλέποντες:
Συμεωνίδης Ανδρέας,
Αναπληρωτής Καθηγητής
Διαμαντόπουλος Θεμιστοκλής,
Μεταδιδακτορικός Ερευνητής
Ομάδα Ευφυών Συστημάτων και
Τεχνολογίας Λογισμικού
Θεσσαλονίκη, 14 Απριλίου 2021
Διάρθρωση Παρουσίασης
• Εισαγωγή
• Υλοποίηση του Συστήματος – Μεθοδολογία
• Πειράματα και Αποτελέσματα
• Συμπεράσματα
• Μελλοντική Εργασία
2
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
Διάρθρωση Παρουσίασης
Εισαγωγή
Υλοποίηση του Συστήματος –
Μεθοδολογία
Πειράματα και
Αποτελέσματα
Συμπεράσματα
Μελλοντική
Εργασία
3
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
Κίνητρο – Περιγραφή του Προβλήματος
4
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
• Αποθήκες λογισμικού στο Διαδίκτυο, μία
πλούσια πηγή δεδομένων
• Συνεργασία μεταξύ των προγραμματιστών
• Διενέργεια αλλαγών για βελτίωση,
διόρθωση και εξέλιξη ενός έργου
λογισμικού
Εύρεση συχνών τύπων αλλαγών
Εξέταση σχεδιαστικών αρχών για την
οικοδόμηση ενός προγράμματος
Κατανόηση και επίλυση παρόμοιων
προβλημάτων
Μοτίβα
αλλαγών
Διόρθωση λαθών
Συστηματικές
τροποποιήσεις
Βελτίωση χωρίς αλλαγές
στη λειτουργικότητα
Χρήση υπαρχόντων
σχολίων
Αλλαγές στην
αρχιτεκτονική
• Δεν έχουν εξεταστεί σε βάθος
• Δυνατότητα ανίχνευσης προτύπων
σχεδίασης και εξέλιξης λογισμικού
• Τίθενται οι βάσεις για ανάπτυξη
εργαλείων προτάσεων αλλαγών στην
αρχιτεκτονική
Στόχοι της διπλωματικής
5
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
Εύρεση συχνών
σχεδιαστικών προτύπων
και προτύπων εξέλιξης
Παρακολούθηση της
εξέλιξης των σχέσεων
μεταξύ των κλάσεων
Υλοποίηση εργαλείου
εξαγωγής των
σχέσεων ανάμεσα
στις διάφορες κλάσεις
ενός προγράμματος
Επιλογή και άντληση
του κατάλληλου
συνόλου δεδομένων
Ανάλυση των εξαγόμενων
προτύπων
Συλλογή στοιχείων σχετικά
με τη σημασιολογία και
τον στόχο τους
Ενίσχυση της δυνατότητας κατανόησης
του προγράμματος στο οποίο
χρησιμοποιούνται (program
comprehension)
Χρησιμοποιούν σήμερα οι προγραμματιστές
πρότυπα, συνειδητά ή μη;
Αν ναι, υπάρχουν και πρότυπα που δεν είναι μέχρι
σήμερα γνωστά;
Διάρθρωση Παρουσίασης
Εισαγωγή
Υλοποίηση του Συστήματος
– Μεθοδολογία
Πειράματα και
Αποτελέσματα
Συμπεράσματα
Μελλοντική
Εργασία
6
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
Αρχιτεκτονική του Συστήματος
7
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
Επιλογή και άντληση των κατάλληλων δεδομένων
8
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
Δημοφιλέστερη πλατφόρμα φιλοξενίας κώδικα με παραπάνω
από 56M χρήστες και 100M αποθετήρια
3000 πιο δημοφιλή
έργα λογισμικού
Καλά σχεδιασμένη δομή, σωστές
τεχνικές, αποτελεσματικότητα
Γραμμένα κατά κύριο
λόγο στην Java
GitHub, GitLab, Assembla, SourceForge
επιλογή εκείνων
με 15 έως 80
commits Επεξεργασία και
αρχειοθέτηση των
αλλαγών κάθε έργου
Το εργαλείο εξαγωγής σχέσεων
9
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
Abstract Syntax Tree
Επίπεδο αφαιρετικότητας κλάσεων
(Abstraction level of classes): Normal,
Abstract, Interface, Unknown
• Εξαγωγή σχέσεων ανάμεσα στις ενδογενείς κλάσεις ενός
προγράμματος
• Δυνατότητα επιλογής να συμπεριληφθούν και εκείνες
ανάμεσα στις ενδογενείς και τις εξωγενείς κλάσεις
(προέρχονται από εξωτερικές βιβλιοθήκες)
Κατευθυνόμενοι
γράφοι με ετικέτες σε
κόμβους και ακμές…??
Γραφική απεικόνιση των εξαγόμενων σχέσεων
10
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
• Χρήση του εργαλείου Graphviz
• Ενδεικτική απεικόνιση των σχέσεων
μεταξύ των ενδογενών κλάσεων του
προγράμματος kikoso/android-
stackblur
• Εξαγωγή στοιχείων σχετικά με την
αρχιτεκτονική του
Παρακολούθηση της εξέλιξης των σχέσεων - 1
11
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
Στιγμιότυπο του
προγράμματος πριν το
commit i
Στιγμιότυπο του
προγράμματος μετά το
commit i
commit i
Σχέσεις πριν το
commit i
Σχέσεις μετά το
commit i
Σχέσεις που δεν
υπάρχουν μετά
Σχέσεις που δεν
υπάρχουν πριν
Αφαιρούμενες (-) Προστιθέμενες (+)
• Λαμβάνονται υπ’ όψιν μόνο τα αρχεία
των commits του κυρίου βρόχου (main
branch)
• Αλλαγή ενός ή περισσότερων αρχείων
Java σε ένα commit
• Χρήση του εργαλείου pydriller
Παρακολούθηση της εξέλιξης των σχέσεων - 2
12
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
Τύποι τροποποιήσεων
• Delete: Διαγραφή του εν λόγω
αρχείου από το πρόγραμμα
• Modify: Διαφοροποίηση
ορισμένων τμημάτων του κώδικα
• Rename: Αλλαγή της θέσης ή/και
του ονόματος του συγκεκριμένου
αρχείου ή/και ορισμένων τμημάτων
του κώδικα σε αυτό
• Add: Προσθήκη νέου αρχείου στο
πρόγραμμα
Στη διαφορά των σχέσεων δε
λαμβάνονται υπ’ όψιν εκείνες που
προέρχονται από Add ή Delete
Δεν μας ενδιαφέρουν σχέσεις που δεν περνούν από το στάδιο της εξέλιξης
Σημαντικές μόνο για αλλαγή της μορφής του προγράμματος ανά commit
Εξόρυξη δεδομένων με τη βοήθεια του gSpan - 1
13
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
• gSpan (graph-based Substructure pattern mining)
• D: ένα σύνολο γράφων
• support(g): ο αριθμός των γράφων του D,
στους οποίους ο g εμφανίζεται ως υπογράφος
• minSup: ένα κάτω όριο συχνότητας που
επιλέγεται από τον χρήστη στην είσοδο
• Ανίχνευση μόνο των συχνών υπογράφων που είναι
συνδεδεμένοι
• Δεν υπάρχει πρόβλημα, όταν ένας γράφος του D
είναι μη συνδεδεμένος
• Μείωση του χρόνου εκτέλεσης σε σχέση με
προγενέστερους αλγορίθμους ακόμα και κατά μία
τάξη μεγέθους
• Σε ποιες τεχνικές όμως στηρίζει την καινοτομία του,
δεδομένης της δυσκολίας του προβλήματος;
Πρόβλημα
Εύρεση όλων των υπογράφων
g, έτσι ώστε support(g) ≥
minSup
Όσο το minSup ↓, τόσο ο
χρόνος εκτέλεσης ↑
• Κάθε γράφος αντιστοιχεί σε έναν κωδικό DFS
(Depth-First Search)
• Λεξικογραφική ταξινόμηση όλων των
παραπάνω κωδικών
• Με βάση αυτήν τη σειρά, κατασκευάζεται ένα
δέντρο αναζήτησης
Εξόρυξη δεδομένων με τη βοήθεια του gSpan - 2
14
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
Ds το σύνολο όλων των γράφων που
περιέχουν τον s ως υπογράφο
Αναδρομική κλήση για εύρεση
όλων των συχνών υπογράφων
Μείωση μεγέθους του
συνόλου γράφων
S το σύνολο των
αποτελεσμάτων
D το σύνολο όλων
των γράφων
Αρχικά βήματα του
αλγορίθμου
Διάρθρωση Παρουσίασης
Εισαγωγή
Υλοποίηση του Συστήματος –
Μεθοδολογία
Πειράματα και
Αποτελέσματα
Συμπεράσματα
Μελλοντική
Εργασία
15
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
Εύρεση συχνών σχεδιαστικών προτύπων
16
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
Σύνολο δεδομένων
576 έργα
λογισμικού
576 γράφοι 576 ομάδες σχέσεων μεταξύ
ενδογενών κλάσεων
• Εφαρμογή του gSpan για διάφορα επίπεδα υποστήριξης
• Για χαμηλές τιμές υποστήριξης ο αλγόριθμος δεσμεύει αρκετή
μνήμη και καθυστερεί
• Ανάγκη διαμόρφωσης του συνόλου δεδομένων → προγράμματα
με 100 έως και 400 σχέσεις
• Προκύπτουν κυρίως πρότυπα με χαρακτηρισμούς κλάσεων
“Normal”
• Θεώρηση ότι οι χαρακτηρισμοί Abstract και Interface ταυτίζονται
• Προκύπτουν πρότυπα με Abstracted ( Abstract or Interface)
χαρακτηρισμούς
…
Ανάλυση των εξαγόμενων σχεδιαστικών προτύπων - 1
17
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
• Δενδροειδές σχεδιαστικό πρότυπο, 162
από 576 έργα λογισμικού
• Κεντρική κλάση (Α) → επίτευξη στόχων του
προγράμματος
• Χρήση αντικειμένων δύο άλλων κλάσεων
(Β και D) → πιο ειδικοί στόχοι
• Οι B και D επικαλούνται δύο ακόμη με τη
σειρά τους (C και E)
Παράδειγμα
Διαχείριση πληροφοριών για την πρόσβαση υπαλλήλων
εταιρίας σε έγγραφα
Πληροφορίες για
τους υπαλλήλους
Αφαίρεση δικαιωμάτων
πρόσβασης με κάποια κριτήρια
Ανάλυση των εξαγόμενων σχεδιαστικών προτύπων - 2
18
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
Παράδειγμα
• Εφαρμογή σε πρόγραμμα γραφικής επεξεργασίας
• Υλοποίηση κλάσης για την απεικόνιση αντικειμένων
ή κειμένου
• Δημιουργία αντικειμένων όπως πλαίσιο κειμένου,
γραμμές ή σχήματα
• Κλάση ευθείας γραμμής κληρονομεί στοιχεία από
μία αφηρημένη κλάση → γραμμή
Ομοιότητα με γνωστό πρότυπο
• Δημιουργικό πρότυπο Factory Method
• Κλάση D → Creator
• Κλάση C → ConcreteCreator
• Κλάση E → ConcreteProduct
• Κλάση F → Product
25 από 105 προγράμματα με 100-400 σχέσεις
Ανάλυση των εξαγόμενων σχεδιαστικών προτύπων - 3
19
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
Ομοιότητα με γνωστό πρότυπο
• Δομικό πρότυπο Façade
• 35 από 105 έργα λογισμικού με αριθμό
σχέσεων από 100 έως και 400
• Κλάση Α ένας δίαυλος επικοινωνίας με όλες τις
υπόλοιπες κλάσεις (B, C, D, E, F)
• B, C, D, E, F → ένα υποσύστημα που
επικοινωνεί με τον υπόλοιπο κόσμο μέσω της Α
• Ο υπόλοιπος κόσμος δεν χρειάζεται
πληροφορίες για το υποσύστημα, τον
ενδιαφέρουν μόνο τα αποτελέσματα
• Διαχωρισμός συστήματος σε υποσυστήματα →
μείωση της πολυπλοκότητας
Εύρεση συχνών προτύπων εξέλιξης σχέσεων
20
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
Σύνολο δεδομένων
2693 commits με αλλαγές
σχέσεων
2693 γράφοι 2693 ομάδες προσθαφαιρούμενων
σχέσεων
• Εφαρμογή του αλγορίθμου gSpan για διάφορα επίπεδα
υποστήριξης
• Ανάγκη για εντοπισμό μεγαλύτερων προτύπων → μείωση
του επιπέδου υποστήριξης
• Προσαρμογή του συνόλου δεδομένων
• Φιλτράρισμα ως προς τον αριθμό των διαφοροποιημένων
σχέσεων
• Έλλειψη προτύπων εξέλιξης με Abstracted (Abstract ή
Interface) χαρακτηρισμούς
• Η θεώρηση Abstract = Interface δεν προσφέρει ιδιαίτερη
βοήθεια
Ανάλυση των εξαγόμενων προτύπων εξέλιξης
21
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
• Κινήσεις από τους προγραμματιστές για
δημιουργία κάποιων από τα πρότυπα που
αναλύθηκαν προηγουμένως
• Στόχος ο σχηματισμός κάποιων δομών ή
η απαλλαγή από αυτές
• Διεύρυνση δυνατοτήτων μίας κλάσης ή
περιορισμός τους
188 commits από 2693
43 από 683 commits με
αριθμό διαφοροποιημένων
σχέσεων 8-40
14 από 683 commits με
αριθμό διαφοροποιημένων
σχέσεων 8-40
Δενδροειδής
σχεδιαστική
δομή
Χρήση
λανθασμένου
αντικειμένου,
διαγραφή, χρήση
του σωστού
Διάρθρωση Παρουσίασης
Εισαγωγή
Υλοποίηση του Συστήματος –
Μεθοδολογία
Πειράματα και
Αποτελέσματα
Συμπεράσματα
Μελλοντική
Εργασία
22
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
Συμπεράσματα
23
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
• Εντοπισμός συχνών σχεδιαστικών λύσεων και μοτίβων εξέλιξης πηγαίου κώδικα
• Ανακάλυψη μοτίβων σχεδίασης που δεν ήταν μέχρι σήμερα γνωστά
• Ύπαρξη προτύπων σχεδίασης που χρησιμοποιούν οι προγραμματιστές, χωρίς να το συνειδητοποιούν
• Προκύπτουν χρήσιμα πρότυπα, τόσο στον τομέα της σχεδίασης όσο και της εξέλιξης
• Η χρηστικότητά τους είναι εμφανής από τον πολύ συχνό βαθμό εμφάνισής τους
• Η ανάλυση των προτύπων που εντοπίζονται διευκολύνει την κατανόηση του προγράμματος στο οποίο
συναντώνται (program comprehension)
Διάρθρωση Παρουσίασης
Εισαγωγή
Υλοποίηση του Συστήματος –
Μεθοδολογία
Πειράματα και
Αποτελέσματα
Συμπεράσματα
Μελλοντική
Εργασία
24
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
Μελλοντική εργασία
25
Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού
με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης
Θεσσαλονίκη, Απρίλιος 2021
• Εκπαίδευση του συστήματος, ώστε να προτείνει μόνο του αλλαγές στις σχέσεις κλάσεων που δίνονται στην είσοδό του
• Εκμετάλλευση περισσότερων σημασιολογικών στοιχείων
• Προσθήκη δεδομένων σχετιζόμενων με τη συντακτική δομή μίας κλάσης
• Ενσωμάτωση της γνώσης και της εμπειρίας προγραμματιστών (human-like way of thinking)
• Χρήση των προτύπων για την κατανόηση ενός προγράμματος που δίνεται στην είσοδο
• Ανακάλυψη περισσότερων μοτίβων εξέλιξης με χαρακτηρισμούς πέρα από τον Normal
• Επέκταση του συστήματος και σε άλλες αντικειμενοστραφείς γλώσσες πέραν της Java
Βασικός στόχος της περιοχής η αυτοματοποιημένη δημιουργία σχεδιαστικών προτάσεων

More Related Content

What's hot

Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης της παραμετροποίησης ρομποτι...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης της παραμετροποίησης ρομποτι...Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης της παραμετροποίησης ρομποτι...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης της παραμετροποίησης ρομποτι...
ISSEL
 
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
ISSEL
 
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσ...
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών  για απομακρυσμένα ρομπότ, στο πλαίσ...Μεθοδολογία ανάπτυξης γραφικών εφαρμογών  για απομακρυσμένα ρομπότ, στο πλαίσ...
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσ...
ISSEL
 
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
ISSEL
 
Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485
ISSEL
 
Ioannis Loias
Ioannis LoiasIoannis Loias
Ioannis Loias
ISSEL
 
Konstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis PresentationKonstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis Presentation
ISSEL
 
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούΑνάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
ISSEL
 
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή διαδικασίας αρχικής προσφοράς ...
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή  διαδικασίας αρχικής προσφοράς ...Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή  διαδικασίας αρχικής προσφοράς ...
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή διαδικασίας αρχικής προσφοράς ...
ISSEL
 
Μαρία Κουιρουκίδου
Μαρία ΚουιρουκίδουΜαρία Κουιρουκίδου
Μαρία Κουιρουκίδου
ISSEL
 
Θεμιστοκλής Παπαβασιλείου
Θεμιστοκλής ΠαπαβασιλείουΘεμιστοκλής Παπαβασιλείου
Θεμιστοκλής Παπαβασιλείου
ISSEL
 
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...
ISSEL
 
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ISSEL
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
ISSEL
 
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής ΝοημοσύνηςΕντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
ISSEL
 
Ιωάννη Α. Ζαφειρίου
Ιωάννη Α. ΖαφειρίουΙωάννη Α. Ζαφειρίου
Ιωάννη Α. Ζαφειρίου
ISSEL
 
Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185
ISSEL
 
Dontsios Dimitris
Dontsios DimitrisDontsios Dimitris
Dontsios Dimitris
ISSEL
 

What's hot (18)

Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης της παραμετροποίησης ρομποτι...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης της παραμετροποίησης ρομποτι...Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης της παραμετροποίησης ρομποτι...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης της παραμετροποίησης ρομποτι...
 
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Σε Πραγματ...
 
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσ...
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών  για απομακρυσμένα ρομπότ, στο πλαίσ...Μεθοδολογία ανάπτυξης γραφικών εφαρμογών  για απομακρυσμένα ρομπότ, στο πλαίσ...
Μεθοδολογία ανάπτυξης γραφικών εφαρμογών για απομακρυσμένα ρομπότ, στο πλαίσ...
 
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών Διαδικτυακής Εφαρμογής Με Χρήση Τ...
 
Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485
 
Ioannis Loias
Ioannis LoiasIoannis Loias
Ioannis Loias
 
Konstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis PresentationKonstantinos Koukoutegos Diploma Thesis Presentation
Konstantinos Koukoutegos Diploma Thesis Presentation
 
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούΑνάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
 
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή διαδικασίας αρχικής προσφοράς ...
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή  διαδικασίας αρχικής προσφοράς ...Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή  διαδικασίας αρχικής προσφοράς ...
Ανάλυση ασφάλειας λογισμικού για τη διεξαγωγή διαδικασίας αρχικής προσφοράς ...
 
Μαρία Κουιρουκίδου
Μαρία ΚουιρουκίδουΜαρία Κουιρουκίδου
Μαρία Κουιρουκίδου
 
Θεμιστοκλής Παπαβασιλείου
Θεμιστοκλής ΠαπαβασιλείουΘεμιστοκλής Παπαβασιλείου
Θεμιστοκλής Παπαβασιλείου
 
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυα...
 
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΒΑΘΙΑΣ ΜΑΘΗΣΗΣ ΓΙΑ ΤΗΝ ΚΑΤΑΝΟΗΣΗ ΤΗΣ ΣΗΜΑΝΤΙΚΟΤΗΤΑΣ ΔΗΜΟΓΡΑΦΙΚ...
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
 
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής ΝοημοσύνηςΕντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
Εντοπισμός του Image Inpainting με Μεθόδους Τεχνητής Νοημοσύνης
 
Ιωάννη Α. Ζαφειρίου
Ιωάννη Α. ΖαφειρίουΙωάννη Α. Ζαφειρίου
Ιωάννη Α. Ζαφειρίου
 
Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185
 
Dontsios Dimitris
Dontsios DimitrisDontsios Dimitris
Dontsios Dimitris
 

Similar to Kagiafas Nikolaos Thesis Presentation

Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
ISSEL
 
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
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
 
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
 
DATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGY
DATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGYDATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGY
DATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGY
GeorgeDiamandis11
 
Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τ...
Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τ...Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τ...
Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τ...
ISSEL
 
Employing Machine Learning and Intelligent Information Management Techniques ...
Employing Machine Learning and Intelligent Information Management Techniques ...Employing Machine Learning and Intelligent Information Management Techniques ...
Employing Machine Learning and Intelligent Information Management Techniques ...
ISSEL
 
Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010
ISSEL
 
Thesis.Net - Training
Thesis.Net - TrainingThesis.Net - Training
Thesis.Net - Training
Anna Tsolakou
 
Nikolaos Oikonomou
Nikolaos OikonomouNikolaos Oikonomou
Nikolaos Oikonomou
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
 
Development of an automatic procedure for Continuous Integration
Development of an automatic procedure for Continuous IntegrationDevelopment of an automatic procedure for Continuous Integration
Development of an automatic procedure for Continuous Integration
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
 
Thesis.Net Framework Training
Thesis.Net Framework TrainingThesis.Net Framework Training
Thesis.Net Framework Training
pdalianis
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
ISSEL
 
Ruby On Rails Introduction [Εισαγωγή στο Rails]
Ruby On Rails Introduction [Εισαγωγή στο Rails]Ruby On Rails Introduction [Εισαγωγή στο Rails]
Ruby On Rails Introduction [Εισαγωγή στο Rails]
Nikos Dimitrakopoulos
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
ISSEL
 
Αυτοματοποίηση Ανάθεσης Εργασιών Λογισμικοπύ με εφαρμογή τεχνικών Θεματικής Μ...
Αυτοματοποίηση Ανάθεσης Εργασιών Λογισμικοπύ με εφαρμογή τεχνικών Θεματικής Μ...Αυτοματοποίηση Ανάθεσης Εργασιών Λογισμικοπύ με εφαρμογή τεχνικών Θεματικής Μ...
Αυτοματοποίηση Ανάθεσης Εργασιών Λογισμικοπύ με εφαρμογή τεχνικών Θεματικής Μ...
ISSEL
 

Similar to Kagiafas Nikolaos Thesis Presentation (20)

Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
 
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
 
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...
 
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...
 
DATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGY
DATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGYDATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGY
DATAMANAGEMENT.GR - DIGITAL TRANSFORMATION AND STRATEGY
 
Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τ...
Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τ...Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τ...
Εφαρµογή τεχνικών µηχανικής µάθησης και ευφυούς διαχείρισης πληροφορίας για τ...
 
Employing Machine Learning and Intelligent Information Management Techniques ...
Employing Machine Learning and Intelligent Information Management Techniques ...Employing Machine Learning and Intelligent Information Management Techniques ...
Employing Machine Learning and Intelligent Information Management Techniques ...
 
Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010
 
Thesis.Net - Training
Thesis.Net - TrainingThesis.Net - Training
Thesis.Net - Training
 
Nikolaos Oikonomou
Nikolaos OikonomouNikolaos Oikonomou
Nikolaos Oikonomou
 
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
Πρόταση Βιβλιοθηκών Σχετικών με Λέξεις-Κλειδιά για Εκκίνηση της Διαδικασίας Α...
 
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 ...
 
Development of an automatic procedure for Continuous Integration
Development of an automatic procedure for Continuous IntegrationDevelopment of an automatic procedure for Continuous Integration
Development of an automatic procedure for Continuous Integration
 
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...
 
Thesis.Net Framework Training
Thesis.Net Framework TrainingThesis.Net Framework Training
Thesis.Net Framework Training
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
 
Παρουσίαση Smart
Παρουσίαση SmartΠαρουσίαση Smart
Παρουσίαση Smart
 
Ruby On Rails Introduction [Εισαγωγή στο Rails]
Ruby On Rails Introduction [Εισαγωγή στο Rails]Ruby On Rails Introduction [Εισαγωγή στο Rails]
Ruby On Rails Introduction [Εισαγωγή στο Rails]
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
 
Αυτοματοποίηση Ανάθεσης Εργασιών Λογισμικοπύ με εφαρμογή τεχνικών Θεματικής Μ...
Αυτοματοποίηση Ανάθεσης Εργασιών Λογισμικοπύ με εφαρμογή τεχνικών Θεματικής Μ...Αυτοματοποίηση Ανάθεσης Εργασιών Λογισμικοπύ με εφαρμογή τεχνικών Θεματικής Μ...
Αυτοματοποίηση Ανάθεσης Εργασιών Λογισμικοπύ με εφαρμογή τεχνικών Θεματικής Μ...
 

More from ISSEL

Εφαρμογή τεχνικών εξόρυξης δεδομένων για την αυτοματοποιημένη διόρθωση σφαλμάτων
Εφαρμογή τεχνικών εξόρυξης δεδομένων για την αυτοματοποιημένη διόρθωση σφαλμάτωνΕφαρμογή τεχνικών εξόρυξης δεδομένων για την αυτοματοποιημένη διόρθωση σφαλμάτων
Εφαρμογή τεχνικών εξόρυξης δεδομένων για την αυτοματοποιημένη διόρθωση σφαλμάτων
ISSEL
 
Σχεδίαση και ανάπτυξη πλατφόρμας για χρήση του Node-red απομακρυσμένα από πο...
Σχεδίαση και ανάπτυξη πλατφόρμας για χρήση του Node-red  απομακρυσμένα από πο...Σχεδίαση και ανάπτυξη πλατφόρμας για χρήση του Node-red  απομακρυσμένα από πο...
Σχεδίαση και ανάπτυξη πλατφόρμας για χρήση του Node-red απομακρυσμένα από πο...
ISSEL
 
Σχεδίαση και Ανάπτυξη Συστήματος Ενεργής Παρακολούθησης Διαδικτυακών Εφαρμογών
Σχεδίαση και Ανάπτυξη Συστήματος Ενεργής Παρακολούθησης Διαδικτυακών ΕφαρμογώνΣχεδίαση και Ανάπτυξη Συστήματος Ενεργής Παρακολούθησης Διαδικτυακών Εφαρμογών
Σχεδίαση και Ανάπτυξη Συστήματος Ενεργής Παρακολούθησης Διαδικτυακών Εφαρμογών
ISSEL
 
Σχεδίαση και ανάπτυξη πλατφόρμας για χρήση του Node-red απομακρυσμένα από πο...
Σχεδίαση και ανάπτυξη πλατφόρμας για χρήση του Node-red  απομακρυσμένα από πο...Σχεδίαση και ανάπτυξη πλατφόρμας για χρήση του Node-red  απομακρυσμένα από πο...
Σχεδίαση και ανάπτυξη πλατφόρμας για χρήση του Node-red απομακρυσμένα από πο...
ISSEL
 
Ανάλυση διαλόγων προγραμματιστών με το ChatGPT
Ανάλυση διαλόγων προγραμματιστών με το ChatGPTΑνάλυση διαλόγων προγραμματιστών με το ChatGPT
Ανάλυση διαλόγων προγραμματιστών με το ChatGPT
ISSEL
 
Υλοποίηση µηχανισµού επιλογής συµπεριφοράς για αυτόνοµα οχήµατα σε καταστάσει...
Υλοποίηση µηχανισµού επιλογής συµπεριφοράς για αυτόνοµα οχήµατα σε καταστάσει...Υλοποίηση µηχανισµού επιλογής συµπεριφοράς για αυτόνοµα οχήµατα σε καταστάσει...
Υλοποίηση µηχανισµού επιλογής συµπεριφοράς για αυτόνοµα οχήµατα σε καταστάσει...
ISSEL
 
Πλοήγηση αυτόνομου οχήματος σε δυναμικό περιβάλλον με χρήση βαθιάς ενισχυτικ...
Πλοήγηση αυτόνομου οχήματος σε δυναμικό περιβάλλον  με χρήση βαθιάς ενισχυτικ...Πλοήγηση αυτόνομου οχήματος σε δυναμικό περιβάλλον  με χρήση βαθιάς ενισχυτικ...
Πλοήγηση αυτόνομου οχήματος σε δυναμικό περιβάλλον με χρήση βαθιάς ενισχυτικ...
ISSEL
 
Εφαρμογή τεχνικών εξόρυξης δεδομένων για την αυτοματοποιημένη διόρθωση σφαλμάτων
Εφαρμογή τεχνικών εξόρυξης δεδομένων για την αυτοματοποιημένη διόρθωση σφαλμάτωνΕφαρμογή τεχνικών εξόρυξης δεδομένων για την αυτοματοποιημένη διόρθωση σφαλμάτων
Εφαρμογή τεχνικών εξόρυξης δεδομένων για την αυτοματοποιημένη διόρθωση σφαλμάτων
ISSEL
 
Εννοιολογική Συνέπεια Μεγάλων Γλωσσικών Μοντέλων
Εννοιολογική Συνέπεια Μεγάλων Γλωσσικών ΜοντέλωνΕννοιολογική Συνέπεια Μεγάλων Γλωσσικών Μοντέλων
Εννοιολογική Συνέπεια Μεγάλων Γλωσσικών Μοντέλων
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
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
ISSEL
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
ISSEL
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
ISSEL
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
ISSEL
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
ISSEL
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
ISSEL
 

More from ISSEL (20)

Εφαρμογή τεχνικών εξόρυξης δεδομένων για την αυτοματοποιημένη διόρθωση σφαλμάτων
Εφαρμογή τεχνικών εξόρυξης δεδομένων για την αυτοματοποιημένη διόρθωση σφαλμάτωνΕφαρμογή τεχνικών εξόρυξης δεδομένων για την αυτοματοποιημένη διόρθωση σφαλμάτων
Εφαρμογή τεχνικών εξόρυξης δεδομένων για την αυτοματοποιημένη διόρθωση σφαλμάτων
 
Σχεδίαση και ανάπτυξη πλατφόρμας για χρήση του Node-red απομακρυσμένα από πο...
Σχεδίαση και ανάπτυξη πλατφόρμας για χρήση του Node-red  απομακρυσμένα από πο...Σχεδίαση και ανάπτυξη πλατφόρμας για χρήση του Node-red  απομακρυσμένα από πο...
Σχεδίαση και ανάπτυξη πλατφόρμας για χρήση του Node-red απομακρυσμένα από πο...
 
Σχεδίαση και Ανάπτυξη Συστήματος Ενεργής Παρακολούθησης Διαδικτυακών Εφαρμογών
Σχεδίαση και Ανάπτυξη Συστήματος Ενεργής Παρακολούθησης Διαδικτυακών ΕφαρμογώνΣχεδίαση και Ανάπτυξη Συστήματος Ενεργής Παρακολούθησης Διαδικτυακών Εφαρμογών
Σχεδίαση και Ανάπτυξη Συστήματος Ενεργής Παρακολούθησης Διαδικτυακών Εφαρμογών
 
Σχεδίαση και ανάπτυξη πλατφόρμας για χρήση του Node-red απομακρυσμένα από πο...
Σχεδίαση και ανάπτυξη πλατφόρμας για χρήση του Node-red  απομακρυσμένα από πο...Σχεδίαση και ανάπτυξη πλατφόρμας για χρήση του Node-red  απομακρυσμένα από πο...
Σχεδίαση και ανάπτυξη πλατφόρμας για χρήση του Node-red απομακρυσμένα από πο...
 
Ανάλυση διαλόγων προγραμματιστών με το ChatGPT
Ανάλυση διαλόγων προγραμματιστών με το ChatGPTΑνάλυση διαλόγων προγραμματιστών με το ChatGPT
Ανάλυση διαλόγων προγραμματιστών με το ChatGPT
 
Υλοποίηση µηχανισµού επιλογής συµπεριφοράς για αυτόνοµα οχήµατα σε καταστάσει...
Υλοποίηση µηχανισµού επιλογής συµπεριφοράς για αυτόνοµα οχήµατα σε καταστάσει...Υλοποίηση µηχανισµού επιλογής συµπεριφοράς για αυτόνοµα οχήµατα σε καταστάσει...
Υλοποίηση µηχανισµού επιλογής συµπεριφοράς για αυτόνοµα οχήµατα σε καταστάσει...
 
Πλοήγηση αυτόνομου οχήματος σε δυναμικό περιβάλλον με χρήση βαθιάς ενισχυτικ...
Πλοήγηση αυτόνομου οχήματος σε δυναμικό περιβάλλον  με χρήση βαθιάς ενισχυτικ...Πλοήγηση αυτόνομου οχήματος σε δυναμικό περιβάλλον  με χρήση βαθιάς ενισχυτικ...
Πλοήγηση αυτόνομου οχήματος σε δυναμικό περιβάλλον με χρήση βαθιάς ενισχυτικ...
 
Εφαρμογή τεχνικών εξόρυξης δεδομένων για την αυτοματοποιημένη διόρθωση σφαλμάτων
Εφαρμογή τεχνικών εξόρυξης δεδομένων για την αυτοματοποιημένη διόρθωση σφαλμάτωνΕφαρμογή τεχνικών εξόρυξης δεδομένων για την αυτοματοποιημένη διόρθωση σφαλμάτων
Εφαρμογή τεχνικών εξόρυξης δεδομένων για την αυτοματοποιημένη διόρθωση σφαλμάτων
 
Εννοιολογική Συνέπεια Μεγάλων Γλωσσικών Μοντέλων
Εννοιολογική Συνέπεια Μεγάλων Γλωσσικών ΜοντέλωνΕννοιολογική Συνέπεια Μεγάλων Γλωσσικών Μοντέλων
Εννοιολογική Συνέπεια Μεγάλων Γλωσσικών Μοντέλων
 
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
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
 

Kagiafas Nikolaos Thesis Presentation

  • 1. Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξαγωγή Προτύπων Σχεδίασης και Εξέλιξης ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Διπλωματική Εργασία Φοιτητής: Καγιάφας Νικόλαος Αριθμός Ειδικού Μητρώου (A.E.M.): 8817 Επιβλέποντες: Συμεωνίδης Ανδρέας, Αναπληρωτής Καθηγητής Διαμαντόπουλος Θεμιστοκλής, Μεταδιδακτορικός Ερευνητής Ομάδα Ευφυών Συστημάτων και Τεχνολογίας Λογισμικού Θεσσαλονίκη, 14 Απριλίου 2021
  • 2. Διάρθρωση Παρουσίασης • Εισαγωγή • Υλοποίηση του Συστήματος – Μεθοδολογία • Πειράματα και Αποτελέσματα • Συμπεράσματα • Μελλοντική Εργασία 2 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021
  • 3. Διάρθρωση Παρουσίασης Εισαγωγή Υλοποίηση του Συστήματος – Μεθοδολογία Πειράματα και Αποτελέσματα Συμπεράσματα Μελλοντική Εργασία 3 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021
  • 4. Κίνητρο – Περιγραφή του Προβλήματος 4 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021 • Αποθήκες λογισμικού στο Διαδίκτυο, μία πλούσια πηγή δεδομένων • Συνεργασία μεταξύ των προγραμματιστών • Διενέργεια αλλαγών για βελτίωση, διόρθωση και εξέλιξη ενός έργου λογισμικού Εύρεση συχνών τύπων αλλαγών Εξέταση σχεδιαστικών αρχών για την οικοδόμηση ενός προγράμματος Κατανόηση και επίλυση παρόμοιων προβλημάτων Μοτίβα αλλαγών Διόρθωση λαθών Συστηματικές τροποποιήσεις Βελτίωση χωρίς αλλαγές στη λειτουργικότητα Χρήση υπαρχόντων σχολίων Αλλαγές στην αρχιτεκτονική • Δεν έχουν εξεταστεί σε βάθος • Δυνατότητα ανίχνευσης προτύπων σχεδίασης και εξέλιξης λογισμικού • Τίθενται οι βάσεις για ανάπτυξη εργαλείων προτάσεων αλλαγών στην αρχιτεκτονική
  • 5. Στόχοι της διπλωματικής 5 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021 Εύρεση συχνών σχεδιαστικών προτύπων και προτύπων εξέλιξης Παρακολούθηση της εξέλιξης των σχέσεων μεταξύ των κλάσεων Υλοποίηση εργαλείου εξαγωγής των σχέσεων ανάμεσα στις διάφορες κλάσεις ενός προγράμματος Επιλογή και άντληση του κατάλληλου συνόλου δεδομένων Ανάλυση των εξαγόμενων προτύπων Συλλογή στοιχείων σχετικά με τη σημασιολογία και τον στόχο τους Ενίσχυση της δυνατότητας κατανόησης του προγράμματος στο οποίο χρησιμοποιούνται (program comprehension) Χρησιμοποιούν σήμερα οι προγραμματιστές πρότυπα, συνειδητά ή μη; Αν ναι, υπάρχουν και πρότυπα που δεν είναι μέχρι σήμερα γνωστά;
  • 6. Διάρθρωση Παρουσίασης Εισαγωγή Υλοποίηση του Συστήματος – Μεθοδολογία Πειράματα και Αποτελέσματα Συμπεράσματα Μελλοντική Εργασία 6 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021
  • 7. Αρχιτεκτονική του Συστήματος 7 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021
  • 8. Επιλογή και άντληση των κατάλληλων δεδομένων 8 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021 Δημοφιλέστερη πλατφόρμα φιλοξενίας κώδικα με παραπάνω από 56M χρήστες και 100M αποθετήρια 3000 πιο δημοφιλή έργα λογισμικού Καλά σχεδιασμένη δομή, σωστές τεχνικές, αποτελεσματικότητα Γραμμένα κατά κύριο λόγο στην Java GitHub, GitLab, Assembla, SourceForge επιλογή εκείνων με 15 έως 80 commits Επεξεργασία και αρχειοθέτηση των αλλαγών κάθε έργου
  • 9. Το εργαλείο εξαγωγής σχέσεων 9 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021 Abstract Syntax Tree Επίπεδο αφαιρετικότητας κλάσεων (Abstraction level of classes): Normal, Abstract, Interface, Unknown • Εξαγωγή σχέσεων ανάμεσα στις ενδογενείς κλάσεις ενός προγράμματος • Δυνατότητα επιλογής να συμπεριληφθούν και εκείνες ανάμεσα στις ενδογενείς και τις εξωγενείς κλάσεις (προέρχονται από εξωτερικές βιβλιοθήκες) Κατευθυνόμενοι γράφοι με ετικέτες σε κόμβους και ακμές…??
  • 10. Γραφική απεικόνιση των εξαγόμενων σχέσεων 10 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021 • Χρήση του εργαλείου Graphviz • Ενδεικτική απεικόνιση των σχέσεων μεταξύ των ενδογενών κλάσεων του προγράμματος kikoso/android- stackblur • Εξαγωγή στοιχείων σχετικά με την αρχιτεκτονική του
  • 11. Παρακολούθηση της εξέλιξης των σχέσεων - 1 11 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021 Στιγμιότυπο του προγράμματος πριν το commit i Στιγμιότυπο του προγράμματος μετά το commit i commit i Σχέσεις πριν το commit i Σχέσεις μετά το commit i Σχέσεις που δεν υπάρχουν μετά Σχέσεις που δεν υπάρχουν πριν Αφαιρούμενες (-) Προστιθέμενες (+) • Λαμβάνονται υπ’ όψιν μόνο τα αρχεία των commits του κυρίου βρόχου (main branch) • Αλλαγή ενός ή περισσότερων αρχείων Java σε ένα commit • Χρήση του εργαλείου pydriller
  • 12. Παρακολούθηση της εξέλιξης των σχέσεων - 2 12 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021 Τύποι τροποποιήσεων • Delete: Διαγραφή του εν λόγω αρχείου από το πρόγραμμα • Modify: Διαφοροποίηση ορισμένων τμημάτων του κώδικα • Rename: Αλλαγή της θέσης ή/και του ονόματος του συγκεκριμένου αρχείου ή/και ορισμένων τμημάτων του κώδικα σε αυτό • Add: Προσθήκη νέου αρχείου στο πρόγραμμα Στη διαφορά των σχέσεων δε λαμβάνονται υπ’ όψιν εκείνες που προέρχονται από Add ή Delete Δεν μας ενδιαφέρουν σχέσεις που δεν περνούν από το στάδιο της εξέλιξης Σημαντικές μόνο για αλλαγή της μορφής του προγράμματος ανά commit
  • 13. Εξόρυξη δεδομένων με τη βοήθεια του gSpan - 1 13 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021 • gSpan (graph-based Substructure pattern mining) • D: ένα σύνολο γράφων • support(g): ο αριθμός των γράφων του D, στους οποίους ο g εμφανίζεται ως υπογράφος • minSup: ένα κάτω όριο συχνότητας που επιλέγεται από τον χρήστη στην είσοδο • Ανίχνευση μόνο των συχνών υπογράφων που είναι συνδεδεμένοι • Δεν υπάρχει πρόβλημα, όταν ένας γράφος του D είναι μη συνδεδεμένος • Μείωση του χρόνου εκτέλεσης σε σχέση με προγενέστερους αλγορίθμους ακόμα και κατά μία τάξη μεγέθους • Σε ποιες τεχνικές όμως στηρίζει την καινοτομία του, δεδομένης της δυσκολίας του προβλήματος; Πρόβλημα Εύρεση όλων των υπογράφων g, έτσι ώστε support(g) ≥ minSup Όσο το minSup ↓, τόσο ο χρόνος εκτέλεσης ↑ • Κάθε γράφος αντιστοιχεί σε έναν κωδικό DFS (Depth-First Search) • Λεξικογραφική ταξινόμηση όλων των παραπάνω κωδικών • Με βάση αυτήν τη σειρά, κατασκευάζεται ένα δέντρο αναζήτησης
  • 14. Εξόρυξη δεδομένων με τη βοήθεια του gSpan - 2 14 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021 Ds το σύνολο όλων των γράφων που περιέχουν τον s ως υπογράφο Αναδρομική κλήση για εύρεση όλων των συχνών υπογράφων Μείωση μεγέθους του συνόλου γράφων S το σύνολο των αποτελεσμάτων D το σύνολο όλων των γράφων Αρχικά βήματα του αλγορίθμου
  • 15. Διάρθρωση Παρουσίασης Εισαγωγή Υλοποίηση του Συστήματος – Μεθοδολογία Πειράματα και Αποτελέσματα Συμπεράσματα Μελλοντική Εργασία 15 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021
  • 16. Εύρεση συχνών σχεδιαστικών προτύπων 16 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021 Σύνολο δεδομένων 576 έργα λογισμικού 576 γράφοι 576 ομάδες σχέσεων μεταξύ ενδογενών κλάσεων • Εφαρμογή του gSpan για διάφορα επίπεδα υποστήριξης • Για χαμηλές τιμές υποστήριξης ο αλγόριθμος δεσμεύει αρκετή μνήμη και καθυστερεί • Ανάγκη διαμόρφωσης του συνόλου δεδομένων → προγράμματα με 100 έως και 400 σχέσεις • Προκύπτουν κυρίως πρότυπα με χαρακτηρισμούς κλάσεων “Normal” • Θεώρηση ότι οι χαρακτηρισμοί Abstract και Interface ταυτίζονται • Προκύπτουν πρότυπα με Abstracted ( Abstract or Interface) χαρακτηρισμούς …
  • 17. Ανάλυση των εξαγόμενων σχεδιαστικών προτύπων - 1 17 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021 • Δενδροειδές σχεδιαστικό πρότυπο, 162 από 576 έργα λογισμικού • Κεντρική κλάση (Α) → επίτευξη στόχων του προγράμματος • Χρήση αντικειμένων δύο άλλων κλάσεων (Β και D) → πιο ειδικοί στόχοι • Οι B και D επικαλούνται δύο ακόμη με τη σειρά τους (C και E) Παράδειγμα Διαχείριση πληροφοριών για την πρόσβαση υπαλλήλων εταιρίας σε έγγραφα Πληροφορίες για τους υπαλλήλους Αφαίρεση δικαιωμάτων πρόσβασης με κάποια κριτήρια
  • 18. Ανάλυση των εξαγόμενων σχεδιαστικών προτύπων - 2 18 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021 Παράδειγμα • Εφαρμογή σε πρόγραμμα γραφικής επεξεργασίας • Υλοποίηση κλάσης για την απεικόνιση αντικειμένων ή κειμένου • Δημιουργία αντικειμένων όπως πλαίσιο κειμένου, γραμμές ή σχήματα • Κλάση ευθείας γραμμής κληρονομεί στοιχεία από μία αφηρημένη κλάση → γραμμή Ομοιότητα με γνωστό πρότυπο • Δημιουργικό πρότυπο Factory Method • Κλάση D → Creator • Κλάση C → ConcreteCreator • Κλάση E → ConcreteProduct • Κλάση F → Product 25 από 105 προγράμματα με 100-400 σχέσεις
  • 19. Ανάλυση των εξαγόμενων σχεδιαστικών προτύπων - 3 19 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021 Ομοιότητα με γνωστό πρότυπο • Δομικό πρότυπο Façade • 35 από 105 έργα λογισμικού με αριθμό σχέσεων από 100 έως και 400 • Κλάση Α ένας δίαυλος επικοινωνίας με όλες τις υπόλοιπες κλάσεις (B, C, D, E, F) • B, C, D, E, F → ένα υποσύστημα που επικοινωνεί με τον υπόλοιπο κόσμο μέσω της Α • Ο υπόλοιπος κόσμος δεν χρειάζεται πληροφορίες για το υποσύστημα, τον ενδιαφέρουν μόνο τα αποτελέσματα • Διαχωρισμός συστήματος σε υποσυστήματα → μείωση της πολυπλοκότητας
  • 20. Εύρεση συχνών προτύπων εξέλιξης σχέσεων 20 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021 Σύνολο δεδομένων 2693 commits με αλλαγές σχέσεων 2693 γράφοι 2693 ομάδες προσθαφαιρούμενων σχέσεων • Εφαρμογή του αλγορίθμου gSpan για διάφορα επίπεδα υποστήριξης • Ανάγκη για εντοπισμό μεγαλύτερων προτύπων → μείωση του επιπέδου υποστήριξης • Προσαρμογή του συνόλου δεδομένων • Φιλτράρισμα ως προς τον αριθμό των διαφοροποιημένων σχέσεων • Έλλειψη προτύπων εξέλιξης με Abstracted (Abstract ή Interface) χαρακτηρισμούς • Η θεώρηση Abstract = Interface δεν προσφέρει ιδιαίτερη βοήθεια
  • 21. Ανάλυση των εξαγόμενων προτύπων εξέλιξης 21 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021 • Κινήσεις από τους προγραμματιστές για δημιουργία κάποιων από τα πρότυπα που αναλύθηκαν προηγουμένως • Στόχος ο σχηματισμός κάποιων δομών ή η απαλλαγή από αυτές • Διεύρυνση δυνατοτήτων μίας κλάσης ή περιορισμός τους 188 commits από 2693 43 από 683 commits με αριθμό διαφοροποιημένων σχέσεων 8-40 14 από 683 commits με αριθμό διαφοροποιημένων σχέσεων 8-40 Δενδροειδής σχεδιαστική δομή Χρήση λανθασμένου αντικειμένου, διαγραφή, χρήση του σωστού
  • 22. Διάρθρωση Παρουσίασης Εισαγωγή Υλοποίηση του Συστήματος – Μεθοδολογία Πειράματα και Αποτελέσματα Συμπεράσματα Μελλοντική Εργασία 22 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021
  • 23. Συμπεράσματα 23 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021 • Εντοπισμός συχνών σχεδιαστικών λύσεων και μοτίβων εξέλιξης πηγαίου κώδικα • Ανακάλυψη μοτίβων σχεδίασης που δεν ήταν μέχρι σήμερα γνωστά • Ύπαρξη προτύπων σχεδίασης που χρησιμοποιούν οι προγραμματιστές, χωρίς να το συνειδητοποιούν • Προκύπτουν χρήσιμα πρότυπα, τόσο στον τομέα της σχεδίασης όσο και της εξέλιξης • Η χρηστικότητά τους είναι εμφανής από τον πολύ συχνό βαθμό εμφάνισής τους • Η ανάλυση των προτύπων που εντοπίζονται διευκολύνει την κατανόηση του προγράμματος στο οποίο συναντώνται (program comprehension)
  • 24. Διάρθρωση Παρουσίασης Εισαγωγή Υλοποίηση του Συστήματος – Μεθοδολογία Πειράματα και Αποτελέσματα Συμπεράσματα Μελλοντική Εργασία 24 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021
  • 25. Μελλοντική εργασία 25 Εφαρμογή τεχνικών εξόρυξης δεδομένων σε αποθήκες λογισμικού με σκοπό την εξαγωγή προτύπων σχεδίασης και εξέλιξης Θεσσαλονίκη, Απρίλιος 2021 • Εκπαίδευση του συστήματος, ώστε να προτείνει μόνο του αλλαγές στις σχέσεις κλάσεων που δίνονται στην είσοδό του • Εκμετάλλευση περισσότερων σημασιολογικών στοιχείων • Προσθήκη δεδομένων σχετιζόμενων με τη συντακτική δομή μίας κλάσης • Ενσωμάτωση της γνώσης και της εμπειρίας προγραμματιστών (human-like way of thinking) • Χρήση των προτύπων για την κατανόηση ενός προγράμματος που δίνεται στην είσοδο • Ανακάλυψη περισσότερων μοτίβων εξέλιξης με χαρακτηρισμούς πέρα από τον Normal • Επέκταση του συστήματος και σε άλλες αντικειμενοστραφείς γλώσσες πέραν της Java Βασικός στόχος της περιοχής η αυτοματοποιημένη δημιουργία σχεδιαστικών προτάσεων