SlideShare una empresa de Scribd logo
1 de 27
Aνάπτυξη Συστήματος Οπτικοποίησης Πηγαίου
Κώδικα με χρήση τεχνικών Ανάκτησης
Πληροφοριών
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ
ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ
ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
Εκπόνηση:
Ψάρρας Χρήστος
ΑΕΜ: 7803
Επίβλεψη:
Αν. Καθ. Συμεωνίδης Ανδρέας
Υπ. Δρ. Θεμιστοκλής Διαμαντόπουλος
Θεσσαλονίκη, Μάρτιος 2017
Oμάδα Ευφυών Συστημάτων και Τεχνολογίας Λογισμικού
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
1
Περιεχόμενα
Εισαγωγή
Ορισμός Προβλήματος
State of the art
Σκοπός διπλωματικής
Ανάλυση του συστήματος
Πειράματα
Συμπεράσματα - Μελλοντική εργασία
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
2
Εισαγωγή
Ψηφιακή εποχή (εποχή της πληροφορίας)
Free και Open Source Software
Πολυπλοκότητα των σύγχρονων
προγραμμάτων απαιτεί την ανάπτυξη
κώδικα με χρήση βιβλιοθηκών
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
3
Ορισμός του προβλήματος
Αριθμός βιβλιοθηκών τεράστιος και συνεχώς αυξανόμενος
Εξοικείωση και επέκταση δύσκολη
Τεκμηρίωση συχνά ανεπαρκής ή ανύπαρκτη
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
4
State of the art
Παρόμοια Συστήματα
Ομαδοποίηση κώδικα με χρήση LSI
Ομαδοποίηση κώδικα με χρήση LDA
Μειονεκτήματα
Οι παράμετροι των συστημάτων δεν είναι
αυτοματοποιημένοι
Τα θέματα δεν ονοματίζονται, δεν γνωρίζουμε
τη λειτουργικότητά τους
Δεν έχουμε κάποιο αντικειμενικό κριτήριο
"καλής" ομαδοποίησης
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
5
Σκοπός διπλωματικής
Ανάπτυξη του δικού μας RSSE, που χρησιμοποιεί τεχνικές
ομαδοποίησης για την ανάλυση της δομής βιβλιοθηκών
Το σύστημά μας προσφέρει:
◦ Οπτικοποίηση χωρισμού των πακέτων σε νοηματικές κατηγορίες
(θέματα)
◦ Δημιουργία αντικειμενικού κριτηρίου "καλής" ομαδοποίησης
◦ Σύγκριση μεθόδων ομαδοποίησης μεταξύ τους
◦ Μείωση του συνολικού αριθμού θεμάτων
◦ Αυτοματοποιημένη ονομασία θεμάτων
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
6
Ανάλυση Συστήματος
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ 7
Ανάλυση Συστήματος
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ 8
Εξαγωγέας
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
9
Ανάλυση Συστήματος
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ 10
Προεπεξεργαστής
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
11
Κάθε έγγραφο είναι μια συλλογή από λέξεις για κάθε κλάση
που περιλαμβάνει:
• Ονόματα και τύπους μεταβλητών και μεθόδων
• Javadocs και λοιπούς σχολιασμούς
Η προεπεξεργασία περιλαμβάνει:
• Μετατροπή σε πεζά
• Καθαρισμό Javadoc και σχολίων
• Διαχωρισμό CamelCase
• Tokenization
• Αφαίρεση stopwords
• lemmatization
Ανάλυση Συστήματος
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ 12
Διανυσματοποιητής & Ομαδοποιητής
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
13
Τεχνικές διανυσματοποίησης:
• Count vectorization
• Tf-idf vectorization
Τεχνικές Ομαδοποίησης:
• K-means
• LDA
Ανάλυση Συστήματος
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ 14
Βελτιστοποιητής
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
15
Ανάλυση Συστήματος
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ 16
Κριτήριο βέλτιστης ομαδοποίησης
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ 17
Count + k-means Tf-idf + k-means
Κριτήριο βέλτιστης ομαδοποίησης
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ 18
Count + LDA Tf-idf + LDA
Κατανομή πακέτων σε θέματα
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
19
Θέματα και αυτόματη ονομασία
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
20
Απόδοση σε άλλα συστήματα
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
21
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
22
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
23
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
24
Συμπεράσματα
Πετύχαμε χωρισμό μιας βιβλιοθήκης στις νοηματικές κατηγορίες (θέματα) από τις οποίες
αποτελείται.
Ο αριθμός των ομάδων βελτιστοποιείται με μέθοδο που είναι ανεξάρτητη του αλγορίθμου
ομαδοποίησης που χρησιμοποιείται.
Επιπλέον, εφαρμόζεται μεταεπεξεργασία στα θέματα, με σκοπό τη μείωση του αριθμού τους,
βρίσκοντας τα όμοια.
Παρουσιάζεται η κατανομή των πακέτων στα επιμέρους θέματα.
H αυτόματη ονομασία των θεμάτων με την χρήση ετικετών από το Stack Overflow, περιγράφει
αρκετά καλά την λειτουργικότητά που εκφράζουν.
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
25
Μελλοντική Εργασία
Η μέθοδος αξιολόγησης που έχουμε επιλέξει βασίζεται στην δομή των πακέτων που έχει ορίσει
ο δημιουργός της εφαρμογής που αναλύουμε.
Δοκιμή επιπλέον μεθόδων ομαδοποίησης (π.χ. autoencoders) και σύγκριση των
αποτελεσμάτων.
Διερεύνηση της επίδρασης των παραμέτρων του LDA στην απόδοση του αλγορίθμου, με βάση τα
κριτήρια αξιολόγησης που έχουμε ορίσει (purity).
Πρόταση αλλαγών στη δομή των πακέτων με διάσπαση ή συγχώνευση.
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
26
Ευχαριστώ για την προσοχή σας
Θεσσαλονίκη, Μάρτιος 2017
ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ
ΠΛΗΡΟΦΟΡΙΩΝ
27

Más contenido relacionado

Más de ISSEL

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

Más de ISSEL (20)

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

Último

5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
Athina Tziaki
 

Último (9)

Σουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνηΣουρεαλιστικά ταξίδια μέσα από την τέχνη
Σουρεαλιστικά ταξίδια μέσα από την τέχνη
 
Μαθητικές καταλήψεις
Μαθητικές                                  καταλήψειςΜαθητικές                                  καταλήψεις
Μαθητικές καταλήψεις
 
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
 
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2οΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 2ο
 
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 1ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ  ΜΕΡΟΣ 1ο ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ  ΜΕΡΟΣ 1ο
ΙΣΤΟΡΙΑ Α' ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΜΕΡΟΣ 1ο
 
Σεβασμός .
Σεβασμός                                   .Σεβασμός                                   .
Σεβασμός .
 
Μαθητικά συμβούλια .
Μαθητικά συμβούλια                                  .Μαθητικά συμβούλια                                  .
Μαθητικά συμβούλια .
 
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ  : ΕΠΑΝΑΛΗΨΗ 2024ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ  : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
 
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη-Διψήφιοι  αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
-Διψήφιοι αριθμοί-δεκαδες μονάδες-θέση ψηφίου Α- Β τάξη
 

Christos Psarras

  • 1. Aνάπτυξη Συστήματος Οπτικοποίησης Πηγαίου Κώδικα με χρήση τεχνικών Ανάκτησης Πληροφοριών ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Εκπόνηση: Ψάρρας Χρήστος ΑΕΜ: 7803 Επίβλεψη: Αν. Καθ. Συμεωνίδης Ανδρέας Υπ. Δρ. Θεμιστοκλής Διαμαντόπουλος Θεσσαλονίκη, Μάρτιος 2017 Oμάδα Ευφυών Συστημάτων και Τεχνολογίας Λογισμικού Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 1
  • 2. Περιεχόμενα Εισαγωγή Ορισμός Προβλήματος State of the art Σκοπός διπλωματικής Ανάλυση του συστήματος Πειράματα Συμπεράσματα - Μελλοντική εργασία Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 2
  • 3. Εισαγωγή Ψηφιακή εποχή (εποχή της πληροφορίας) Free και Open Source Software Πολυπλοκότητα των σύγχρονων προγραμμάτων απαιτεί την ανάπτυξη κώδικα με χρήση βιβλιοθηκών Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 3
  • 4. Ορισμός του προβλήματος Αριθμός βιβλιοθηκών τεράστιος και συνεχώς αυξανόμενος Εξοικείωση και επέκταση δύσκολη Τεκμηρίωση συχνά ανεπαρκής ή ανύπαρκτη Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 4
  • 5. State of the art Παρόμοια Συστήματα Ομαδοποίηση κώδικα με χρήση LSI Ομαδοποίηση κώδικα με χρήση LDA Μειονεκτήματα Οι παράμετροι των συστημάτων δεν είναι αυτοματοποιημένοι Τα θέματα δεν ονοματίζονται, δεν γνωρίζουμε τη λειτουργικότητά τους Δεν έχουμε κάποιο αντικειμενικό κριτήριο "καλής" ομαδοποίησης Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 5
  • 6. Σκοπός διπλωματικής Ανάπτυξη του δικού μας RSSE, που χρησιμοποιεί τεχνικές ομαδοποίησης για την ανάλυση της δομής βιβλιοθηκών Το σύστημά μας προσφέρει: ◦ Οπτικοποίηση χωρισμού των πακέτων σε νοηματικές κατηγορίες (θέματα) ◦ Δημιουργία αντικειμενικού κριτηρίου "καλής" ομαδοποίησης ◦ Σύγκριση μεθόδων ομαδοποίησης μεταξύ τους ◦ Μείωση του συνολικού αριθμού θεμάτων ◦ Αυτοματοποιημένη ονομασία θεμάτων Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 6
  • 7. Ανάλυση Συστήματος Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 7
  • 8. Ανάλυση Συστήματος Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 8
  • 9. Εξαγωγέας Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 9
  • 10. Ανάλυση Συστήματος Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 10
  • 11. Προεπεξεργαστής Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 11 Κάθε έγγραφο είναι μια συλλογή από λέξεις για κάθε κλάση που περιλαμβάνει: • Ονόματα και τύπους μεταβλητών και μεθόδων • Javadocs και λοιπούς σχολιασμούς Η προεπεξεργασία περιλαμβάνει: • Μετατροπή σε πεζά • Καθαρισμό Javadoc και σχολίων • Διαχωρισμό CamelCase • Tokenization • Αφαίρεση stopwords • lemmatization
  • 12. Ανάλυση Συστήματος Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 12
  • 13. Διανυσματοποιητής & Ομαδοποιητής Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 13 Τεχνικές διανυσματοποίησης: • Count vectorization • Tf-idf vectorization Τεχνικές Ομαδοποίησης: • K-means • LDA
  • 14. Ανάλυση Συστήματος Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 14
  • 15. Βελτιστοποιητής Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 15
  • 16. Ανάλυση Συστήματος Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 16
  • 17. Κριτήριο βέλτιστης ομαδοποίησης Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 17 Count + k-means Tf-idf + k-means
  • 18. Κριτήριο βέλτιστης ομαδοποίησης Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 18 Count + LDA Tf-idf + LDA
  • 19. Κατανομή πακέτων σε θέματα Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 19
  • 20. Θέματα και αυτόματη ονομασία Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 20
  • 21. Απόδοση σε άλλα συστήματα Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 21
  • 22. Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 22
  • 23. Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 23
  • 24. Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 24
  • 25. Συμπεράσματα Πετύχαμε χωρισμό μιας βιβλιοθήκης στις νοηματικές κατηγορίες (θέματα) από τις οποίες αποτελείται. Ο αριθμός των ομάδων βελτιστοποιείται με μέθοδο που είναι ανεξάρτητη του αλγορίθμου ομαδοποίησης που χρησιμοποιείται. Επιπλέον, εφαρμόζεται μεταεπεξεργασία στα θέματα, με σκοπό τη μείωση του αριθμού τους, βρίσκοντας τα όμοια. Παρουσιάζεται η κατανομή των πακέτων στα επιμέρους θέματα. H αυτόματη ονομασία των θεμάτων με την χρήση ετικετών από το Stack Overflow, περιγράφει αρκετά καλά την λειτουργικότητά που εκφράζουν. Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 25
  • 26. Μελλοντική Εργασία Η μέθοδος αξιολόγησης που έχουμε επιλέξει βασίζεται στην δομή των πακέτων που έχει ορίσει ο δημιουργός της εφαρμογής που αναλύουμε. Δοκιμή επιπλέον μεθόδων ομαδοποίησης (π.χ. autoencoders) και σύγκριση των αποτελεσμάτων. Διερεύνηση της επίδρασης των παραμέτρων του LDA στην απόδοση του αλγορίθμου, με βάση τα κριτήρια αξιολόγησης που έχουμε ορίσει (purity). Πρόταση αλλαγών στη δομή των πακέτων με διάσπαση ή συγχώνευση. Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 26
  • 27. Ευχαριστώ για την προσοχή σας Θεσσαλονίκη, Μάρτιος 2017 ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΟΠΤΙΚΟΠΟΙΗΣΗΣ ΠΗΓΑΙΟΥ ΚΩΔΙΚΑ ΜΕ ΧΡΗΣΗ ΤΕΧΝΙΚΩΝ ΑΝΑΚΤΗΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ 27

Notas del editor

  1. Βρισκόμαστε στην ψηφιακή εποχή (εποχή της πληροφορίας), όπου το διαδίκτυο έχει γίνει αναπόσπαστο κομμάτι τηςεπαγγελματικής και προσωπικής μας ζωής. Η ανάπτυξη εφαρμογών γίνεται με ταχύτατους ρυθμούς και σε πληθώρα από πλατφόρμες (υπολογιστές, κινητά, tablets, smartwatch) Από πολύ νωρίς, το 1980, ιδρύθηκαν κινήμαελεύθερου λογισμικού και ανοιχτού κώδικα, που έδωσαν ώθηση στη δημιουργία ανοιχτών αποθηκών λογισμικού. Οι προγραμματιστές χρησιμοποιούντον έτοιμο κώδικα που βρίσκεται εκεί, και ειδικά τις βιβλιοθήκες, για την ταχύτερη και αποτελεσματικότερη ανάπτυξη εφαρμογών.
  2. Ο αριθμός, ωστόσο,των βιβλιοθηκών αυτών είναι τεράστιος, και συνεχώς αυξανόμενος, αφού εξειδικεύονται σε πληθώρα εφαρμογών, συστημάτων και προγραμματιστικά περιβάλλοντα. Η εξοικείωση με καινούριες βιβλιοθήκες, και η συντήρηση και επέκταση των ήδη υπαρχόντων, είναι μια ιδιαίτερα χρονοβόρα διαδικασία. Η τεκμηρίωση του κώδικα είναι συχνά ανεπαρκής ή και ανύπαρκτη.
  3. Στην κατεύθυνση της κατανόησης προγραμμάτων (βιβλιοθηκών στην περίπτωσή μας) και στην ανάλυση του σημασιολογικού περιεχομένου τους έχουν αναπτυχθεί διάφορα συστήματα. Το Topicxp, καθώς και συστήματα που ομαδοποιούν τις κλάσεις μιας βιβλιοθήκης με τεχνικές LSI και LDA, προσπαθούν να εντοπίσουν τη σημασιολογική πληροφορία των κλάσεωνβιβλιοθηκών και να την προβάλουν στον χρήστη. Οι εφαρμογές αυτές όμως απαιτούν τον ορισμό παραμέτρων των αλγορίθμων από τους ίδους τους χρήστες, γεγονός που απαιτείπρώτερη γνώση δεδομένων τόσοτων προς ανάλυση βιβλιοθηκών όσο και του τρόπου λειτουργίας των αλγορίθμων ανάλυσης που χρησιμοποιούν. Επίσης, οι θεματικές ενότητες που πτοσδιορίζουν, περιγράφονται από λέξεις που βρίσκονται στοκ κώδικα και στα σχόλια των προγραμματιστών, γεγονός που δεν φανερώνει άμεσα τη λειτουργικότητα που εκφράζουν, αλλά απαιτούνεμπειρία και γνώση στο αντικείμενο στο οποίο αναφέρονται. Δενπροσφέρουν κάποιο κριτήριο ``καλής" ομαδοποίησης.
  4. Σκοπός της διπλωματικής αυτής είναι η προσφορά στον ευρύτερο κλάδο της επαναχρησιμοποίησης κώδικα και της κατανόησης προγραμμάτων με επισκόπηση της βιβλιογραφίας και ανάπτυξη του δικού μας συστήματος πρότασης κώδικα, ή RSSE, που χρησιμοποιεί τεχνικές ομαδοποίησης κώδικα για την ανάλυση της δομής βιβλιοθηκών, Το σύστημά μας προσφέρει: Οπτικοποίηση της κατανομής των πακέταν (και υποπακέτων) μιας βιβλιοθήκης σε νοηματικές κατηγορίες (που θα αποκαλούμε θέματα) Δημιουργία αντικειμενικού κριτηρίου ``καλής" ομαδοποίησης των κλάσεων σε θέματα. Δυνατότητα σύγκρισης απόδοσης μεθόδων ομαδοποίησης μεταξύ τους Αυτοματοματοποιημένη ονομασία των θεμάτων
  5. Στο σχήμα αυτό φαίνεται η δομή του συστήματός μας. Αποτελείται από 6 βασικά τμήματα (Εξαγωγέα, Προεπεξεργαστή, Διανυσματοποιητή, Ομαδοποιητή, Βελτιστοποιητή, Παρουσιαστή). Θα προχωρήσουμε στην ανάλυση του τρόπου με τον οποίο λειτουργεί κάθε
  6. Στο σχήμα αυτό φαίνεται η δομή του συστήματός μας. Αποτελείται από 6 βασικά τμήματα (Εξαγωγέα, Προεπεξεργαστή, Διανυσματοποιητή, Ομαδοποιητή, Βελτιστοποιητή, Παρουσιαστή). Θα προχωρήσουμε στην ανάλυση του τρόπου με τον οποίο λειτουργεί κάθε
  7. Στο σχήμα αυτό φαίνεται η δομή του συστήματός μας. Αποτελείται από 6 βασικά τμήματα (Εξαγωγέα, Προεπεξεργαστή, Διανυσματοποιητή, Ομαδοποιητή, Βελτιστοποιητή, Παρουσιαστή). Θα προχωρήσουμε στην ανάλυση του τρόπου με τον οποίο λειτουργεί κάθε
  8. Στο σχήμα αυτό φαίνεται η δομή του συστήματός μας. Αποτελείται από 6 βασικά τμήματα (Εξαγωγέα, Προεπεξεργαστή, Διανυσματοποιητή, Ομαδοποιητή, Βελτιστοποιητή, Παρουσιαστή). Θα προχωρήσουμε στην ανάλυση του τρόπου με τον οποίο λειτουργεί κάθε
  9. Στο σχήμα αυτό φαίνεται η δομή του συστήματός μας. Αποτελείται από 6 βασικά τμήματα (Εξαγωγέα, Προεπεξεργαστή, Διανυσματοποιητή, Ομαδοποιητή, Βελτιστοποιητή, Παρουσιαστή). Θα προχωρήσουμε στην ανάλυση του τρόπου με τον οποίο λειτουργεί κάθε
  10. Στο σχήμα αυτό φαίνεται η δομή του συστήματός μας. Αποτελείται από 6 βασικά τμήματα (Εξαγωγέα, Προεπεξεργαστή, Διανυσματοποιητή, Ομαδοποιητή, Βελτιστοποιητή, Παρουσιαστή). Θα προχωρήσουμε στην ανάλυση του τρόπου με τον οποίο λειτουργεί κάθε