Matsoukas Vasileios Thesis Presentation

ISSEL
ISSELISSEL
“Αυτοματοποίηση ανάθεσης εργασιών με εφαρμογή τεχνικών εξόρυξης
γνώσης σε αποθετήρια ανοιχτού λογισμικού”
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ
ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ
ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ
Επιβλέποντες:
Ανδρέας Λ. Συμεωνίδης,
Αναπληρωτής Καθηγητής Α.Π.Θ.
Διαμαντόπουλος Θεμιστοκλής,
Μεταδιδακτορικός Ερευνητής
Παπαμιχαήλ Μιχαήλ,
Υποψήφιος Διδάκτωρ
Θεσσαλονίκη, 26 Μαρτίου 2020
Εκπόνηση:
Ματσούκας Βασίλειος,
Α.Ε.Μ. 8743
Διπλωματική εργασία
Διάρθρωση Παρουσίασης
 Εισαγωγή
 Μεθοδολογία
 Αξιολόγηση & Αποτελέσματα
 Συμπεράσματα
 Μελλοντική Εργασία
26.3.2020 Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
2
Περιγραφή του Προβλήματος
26.3.2020 3
 Αυξημένες απαιτήσεις έργων λογισμικού
 Αποθετήρια Κώδικα:
• Διάσπαρτες ομάδες
• Ανάγκη για διαχείριση και συντονισμό της ομάδας
Ποιότητα Λογισμικού ⇔ Σωστή διαχείριση και ανάθεση εργασιών
Πρόβλημα:
Χειροκίνητη αξιολόγηση και ανάθεση των εργασιών:
• Μεγάλος όγκος αναφορών και ζητημάτων καθημερινά
• Πρακτικά αναποτελεσματικό σε έργα μεγάλης κλίμακας!!
• Ανθρωποώρες εργασίες που μπορούν να αξιοποιηθούν πιο παραγωγικά
• Οικονομικές επιπτώσεις στο project, ακόμα και απώλεια στόχου παραγωγής
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Σκοπός της Διπλωματικής & το περιβάλλον του GitHub
26.3.2020 4
Στόχος:
Αυτοματοποίηση της διαδικασίας ανάθεσης εργασιών:
• Αξιοποίηση πληροφορίας από αποθετήρια κώδικα
• Χαρακτηριστικά που μαρτυρούν την καταλληλότητα του μηχανικού για μια εργασία
• Βελτιστοποίηση-Ενίσχυση εμπιστευτικότητας του μοντέλου
Τι είναι το GitHub & γιατί το επιλέξαμε ως πηγή δεδομένων;
• Πλατφόρμα φιλοξενίας συλλογής ανοιχτού κώδικα
• Επιπλέον χαρακτηριστικά: Bug Tracking, Task Management, Feature Requests
• Δημοφιλές: 40M+ χρήστες, 100Μ+ αποθετήρια (Ιαν. 2020)
• Διαθεσιμότητα δεδομένων (Rest API v3)
Καινοτομία! Δεν υπάρχει λειτουργικότητα αυτόματης ανάθεσης στο GitHub
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
GitHub Issues
26.3.2020 5
1
2
3
6
5
4
Σημαντικά πεδία ενός Issue Report:
1. Title
2. Status
3. Body
4. Comments
5. Labels
6. Assignee
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Μεθοδολογία
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού 26.3.2020 6
Αρχιτεκτονική Συστήματος
26.3.2020 7
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Συλλογή και Οργάνωση Δεδομένων
26.3.2020 8
 Συλλογή δεδομένων από 3000 αποθετήρια
 Αρχεία σε .JSON μορφή ⇒ βολικά για NoSQL βάση δεδομένων (MongoDB)
 6 Collections, τα πιο βασικά πεδία:
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Στάδια Προεπεξεργασίας
26.3.2020 9
 Επιλογή Αποθετηρίων και Καθορισμός Developers:
• Τουλάχιστον 2 developers στο αποθετήριο
• Συνολικά issues στο [50, 5000]
• Support 15 κλειστών issues για κάθε developer
 Εύρωστη επιλογή χαρακτηριστικού κλάσης:
• Πεδίο “assignee” vs “closed_by”
• Ποιο πεδίο να εμπιστευτούμε;
• Είναι πιθανό να έχουμε ελλειπούσες τιμές.
• Σύστημα απόφασης 3 επιπέδων (διαγρ. ροής)
 Προεπεξεργασία κειμένου:
• Ανεπεξέργαστο κείμενο ⇒ εισαγωγή θορύβου
Assigne
e?
Closed_b
y?
Dev Role?
Κλάση ←
assignee
Κλάση ←
closed_by
Απόρριψη
issue
Απόρριψ
η issue
Ye
s
No
Ye
s
No
Ops
Dev,
DevOp
s
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Χαρακτηριστικά Αξιολόγησης Συνεισφοράς (1/5)
26.3.2020 10
“Κατά πόσο συνδέεται η περιγραφή του προβλήματος με τα
προβλήματα που λύνει ο developer;”
Title, Body
 Μετατροπή κειμένου σε μορφή που επιτρέπει σύγκριση
⇒ Διανυσματοποίηση - Vector Space Modeling
 Τεχνική διανυσματοποίησης TF-IDF (Term Frequency – Inverse
Document Frequency):
• ΤF: συχνότητα εμφάνισης του όρου στον τίτλο*
• IDF: λογάριθμος (πλήθος τίτλων/ πλήθος των τίτλων*
όπου εμφανίζεται ο όρος)
• Για τον όρο 𝒘, document D, και corpus C :
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
* Ομοίως και για το σώμα(body)
Χαρακτηριστικά Αξιολόγησης Συνεισφοράς (2/5)
26.3.2020 11
Ζητούμενο: Κατηγοριοποίηση νέου issue με βάση τίτλο/σώμα
• Στην περίπτωσή μας, κατηγορία == developer ⇒ Multiclass πρόβλημα ταξινόμησης
Support Vector Machines:
• “One vs Rest” προσέγγιση: ανήκει ή όχι το issue στα ενδιαφέροντα του dev?
• Στην πραγματικότητα μας ενδιαφέρει η πιθανότητα ανάθεσης: απόσταση από το επίπεδο διαχωρισμού
Επιλογή Παραμέτρων SVM:
• Κάθε αποθετήριο διαφέρει στη φύση δεδομένων του
• Ορισμός ενός grid παραμέτρων για ευελιξία
• Εύρεση βέλτιστου συνδυασμού με 5-fold Cross Validation
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Χαρακτηριστικά Αξιολόγησης Συνεισφοράς (3/5)
26.3.2020 12
Labels
“Κατά πόσο ένας dev τείνει να ασχολείται με issues που φέρουν
συγκεκριμένο label;”
Αξιολόγηση dev με βάση τα labels:
• Μέτρηση ενασχόλησης ανά label στα παρελθοντικά
issues
• Ο dev λαμβάνει σκορ ίσο με τη σχετική συχνότητα
εμφάνισής του σε αυτό το label (αριθμός στο [0, 1])
• Σε περίπτωση που ένα issue φέρει πολλαπλά labels,
τότε αθροίζουμε τις συχνότητες του dev στο κάθε
label, και εφαρμόζουμε το προηγούμενο βήμα.
Labels Contribution Example
Label Dev A Dev B Dev C
“Interface” 5 10 15
Score 5/30 10/30 15/30
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Χαρακτηριστικά Αξιολόγησης Συνεισφοράς (4/5)
26.3.2020 13
Comments
“Πόσο συνδέονται τα παρελθοντικά issues στα οποία έχει
σχολιάσει ο dev με το υπό εξέταση issue;”
Αξιολόγηση dev με βάση τα comments:
• Ανακτώνται τα issues που έχει σχολιάσει ο dev σε παράθυρο 365 ημερών
• Υπολογίζεται η ομοιότητα συνημιτόνου των τίτλων των σχολιασθέντων
issues με τον τίτλο του νέου issue
• Εξάγεται η μέση τιμή ομοιότητας συνημιτόνου
• Η τιμή αυτή αποτελεί σκορ του dev από τα comments (ανήκει στο [0, 1])
Μετρική ομοιότητας συνημιτόνου:
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Χαρακτηριστικά Αξιολόγησης Συνεισφοράς (5/5)
26.3.2020 14
Commits
“Κατά πόσο μπορούν τα παρελθοντικά commits ενός developer
να συνδεθούν με το υπό εξέταση issue;”
Αξιολόγηση dev με βάση τα commits:
• Ανακτώνται τα commits που έχει κάνει ο dev σε παράθυρο 365 ημερών
• Υπολογίζεται η ομοιότητα συνημιτόνου του commit message των
commits με τον τίτλο του νέου issue
• Εξάγεται η μέγιστη τιμή ομοιότητας συνημιτόνου.
• Η τιμή αυτή αποτελεί σκορ του dev από τα commits (ανήκει στο [0, 1])
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Συνολική Συνεισφορά
26.3.2020 15
• Η τελική ανάθεση issue βασίζεται στα 5 χαρακτηριστικά: title, body,
labels, comments, commits.
• Στόχος να αυξήσουμε την εμπιστευτικότητα με την οποία το σύστημα
αναθέτει ένα issue
• Για κάθε dev υπολογίζονται ο μέσος όρος των σκορ που λαμβάνει
• Επιλέγεται εκείνος-εκείνη που συγκεντρώνει το μεγαλύτερο συνολικό
σκορ
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Βελτιστοποίηση Υπολογισμού Συνεισφοράς
26.3.2020 16
“Μήπως υπάρχει διαφορετική αντιμετώπιση, και συνεπώς διαφορετική βαρύτητα
χαρακτηριστικών ανά αποθετήριο;”
• Στόχος να προσαρμόσουμε κατάλληλα
την βαρύτητα των 5 χαρακτηριστικών,
αντί για το μέσο όρο τους
• Τη δουλειά αυτή αναλαμβάνει ένα
fully-connected νευρωνικό δίκτυο
• Είσοδος: τα σκορ του dev
• Έξοδος: η καταλληλότητα ανάθεσης
στο [0,1]
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Generalization and Hyperparameters Selection
26.3.2020 17
• Δυσκολία: Ένα νευρωνικό που να γενικεύει όχι σε ένα, αλλά σε
πολλά αποθετήρια!
• Αντιμετώπιση: Reconfigurable αρχιτεκτονική νευρωνικού δικτύου
 Ορισμός ενός σετ μεταβλητών παραμέτρων
⇒ Επιλογή των βέλτιστων με αναζήτηση
πλέγματος και 5-fold Cross Validation
 Ορισμός ενός σετ σταθερών παραμέτρων
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Αποτελέσματα
& Αξιολόγηση
26.3.2020 18
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Διαδικασία Εκπαίδευσης & Αξιολόγησης
26.3.2020 19
Configurations προς Αξιολόγηση:
• “Title+Body”
• “Title+Body+Labels”
• “Title+Body+Labels+Comments”
• “Title+Body+Labels+Comments+Commits”
• “Optimized Model”
Αυξητική Μάθηση:
• Χρονική διάταξη των issues
• Τα πρώτα 70% για training και 30% testing
• Διαχωρισμός του testing σε 6 ισομήκη folds
• Πρόβλεψη στο επόμενο fold
• Ενσωμάτωση στο training set και συνέχεια στο επόμενο fold
Μετρικές Αξιολόγησης:
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =
𝑇𝑃 + 𝑇𝑁
𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁
𝐹1_𝑆𝑐𝑜𝑟𝑒 = 2 ×
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 ∙ 𝑟𝑒𝑐𝑎𝑙𝑙
𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑟𝑒𝑐𝑎𝑙𝑙
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Κατανομή Developers στα προς Ανάλυση Αποθετήρια
26.3.2020 20
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Επίδραση του πλήθους των Developers
26.3.2020 21
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Κατανομή Απόδοσης των Configurations - Accuracy
26.3.2020 22
Ποσοστό παρατηρήσεων πάνω από 0.6:
• 27% για το ‘title+body’
• 28% για το ‘title+body+labels’
• 28% για το ‘title+body+labels+comments’
• 42% για το ‘title+body+labels+comments+commits’
• 46% για το ‘optimized model’
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Κατανομή Απόδοσης των Configurations – F1-Score
26.3.2020 23
Ποσοστό παρατηρήσεων πάνω από 0.6:
• 23% για το ‘title+body’
• 25% για το ‘title+body+labels’
• 29% για το ‘title+body+labels+comments’
• 40% για το ‘title+body+labels+comments+commits’
• 43% για το ‘optimized model’
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Ποσοστό Καλύτερης Δυνατής Τιμής
26.3.2020 24
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Συμπεράσματα
& Μελλοντική Εργασία
26.3.2020 25
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Συμπεράσματα
26.3.2020 26
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
 Η ανάλυση της δραστηριότητας ενός developer δύναται να αξιοποιηθεί στην
αυτοματοποίηση ανάθεσης εργασιών
 Πληροφορίες από διαφορετικές πηγές μπορούν να ενισχύσουν την εμπιστευτικότητα
του συστήματος
 Τα πειράματα δείχνουν ότι το σύστημα ανταποκρίνεται ικανοποιητικά σε ένα μεγάλο
εύρος αποθετηρίων
 Το σύστημα μπορεί να αποτελέσει χρήσιμο εργαλείο στα πλαίσια της ανάπτυξης έργων
λογισμικού.
Μελλοντική Εργασία
26.3.2020 27
 Εξαγωγή χαρακτηριστικών από αρχεία κώδικα
 Fine-tuning ή επαναπροσδιορισμός του στρώματος βελτιστοποίησης
 Βελτίωση διαδικασίας εκπαίδευσης (issue-προς-issue εκπαίδευση)
 Επέκταση με User Interface και ανάθεση σε πραγματικό χρόνο
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Ευχαριστίες
26.3.2020 28
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Θα ήθελα να ευχαριστήσω θερμά:
• Τον κ. Συμεωνίδη Ανδρέα
• Τους Διαμαντόπουλο Θέμη και Παπαμιχαήλ Μιχάλη
• Όλους εσάς που παρακολουθήσατε την παρουσίαση!
26.3.2020 29
Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών
Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
Ευχαριστώ για την προσοχή σας 
Ερωτήσεις;
1 of 29

Recommended

Εξαγωγή Προτύπων Αλλαγών Κώδικα από Αποθετήρια Ανοικτού Λογισμικού by
Εξαγωγή Προτύπων Αλλαγών Κώδικα από Αποθετήρια Ανοικτού ΛογισμικούΕξαγωγή Προτύπων Αλλαγών Κώδικα από Αποθετήρια Ανοικτού Λογισμικού
Εξαγωγή Προτύπων Αλλαγών Κώδικα από Αποθετήρια Ανοικτού ΛογισμικούISSEL
46 views26 slides
Ανάλυση σφαλµάτων κώδικα µε βάση τον γράφο κλήσεων συναρτήσεων by
Ανάλυση σφαλµάτων κώδικα µε βάση τον γράφο κλήσεων συναρτήσεωνΑνάλυση σφαλµάτων κώδικα µε βάση τον γράφο κλήσεων συναρτήσεων
Ανάλυση σφαλµάτων κώδικα µε βάση τον γράφο κλήσεων συναρτήσεωνISSEL
65 views29 slides
Ανάλυση Σημαντικότητας Χαρακτηριστικών Απόδοσης του Λογισμικού Google Lighthouse by
Ανάλυση Σημαντικότητας Χαρακτηριστικών Απόδοσης του Λογισμικού Google LighthouseΑνάλυση Σημαντικότητας Χαρακτηριστικών Απόδοσης του Λογισμικού Google Lighthouse
Ανάλυση Σημαντικότητας Χαρακτηριστικών Απόδοσης του Λογισμικού Google LighthouseISSEL
63 views38 slides
A tale of experiments on bug prediction by
A tale of experiments on bug predictionA tale of experiments on bug prediction
A tale of experiments on bug predictionMartin Pinzger
819 views36 slides
Fuzzy Self-Learning Controllers for Elasticity Management in Dynamic Cloud Ar... by
Fuzzy Self-Learning Controllers for Elasticity Management in Dynamic Cloud Ar...Fuzzy Self-Learning Controllers for Elasticity Management in Dynamic Cloud Ar...
Fuzzy Self-Learning Controllers for Elasticity Management in Dynamic Cloud Ar...Pooyan Jamshidi
1.1K views50 slides
Exploratory data analysis using xgboost package in R by
Exploratory data analysis using xgboost package in RExploratory data analysis using xgboost package in R
Exploratory data analysis using xgboost package in RSatoshi Kato
4.3K views93 slides

More Related Content

Similar to Matsoukas Vasileios Thesis Presentation

AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production... by
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...Robert Grossman
2.3K views43 slides
AI and Machine Learning for .net developers by
AI and Machine Learning for .net developersAI and Machine Learning for .net developers
AI and Machine Learning for .net developersIan Chen
362 views40 slides
MongoDB What's new in 3.2 version by
MongoDB What's new in 3.2 versionMongoDB What's new in 3.2 version
MongoDB What's new in 3.2 versionHéliot PERROQUIN
194 views42 slides
The relationship between test and production code quality (@ SIG) by
The relationship between test and production code quality (@ SIG)The relationship between test and production code quality (@ SIG)
The relationship between test and production code quality (@ SIG)Maurício Aniche
1.1K views29 slides
Design Patterns for Large-Scale Real-Time Learning by
Design Patterns for Large-Scale Real-Time LearningDesign Patterns for Large-Scale Real-Time Learning
Design Patterns for Large-Scale Real-Time LearningSwiss Big Data User Group
4.4K views29 slides
Estimating the Total Costs of Your Cloud Analytics Platform by
Estimating the Total Costs of Your Cloud Analytics PlatformEstimating the Total Costs of Your Cloud Analytics Platform
Estimating the Total Costs of Your Cloud Analytics PlatformDATAVERSITY
335 views39 slides

Similar to Matsoukas Vasileios Thesis Presentation(20)

AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production... by Robert Grossman
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
AnalyticOps: Lessons Learned Moving Machine-Learning Algorithms to Production...
Robert Grossman2.3K views
AI and Machine Learning for .net developers by Ian Chen
AI and Machine Learning for .net developersAI and Machine Learning for .net developers
AI and Machine Learning for .net developers
Ian Chen362 views
The relationship between test and production code quality (@ SIG) by Maurício Aniche
The relationship between test and production code quality (@ SIG)The relationship between test and production code quality (@ SIG)
The relationship between test and production code quality (@ SIG)
Maurício Aniche1.1K views
Estimating the Total Costs of Your Cloud Analytics Platform by DATAVERSITY
Estimating the Total Costs of Your Cloud Analytics PlatformEstimating the Total Costs of Your Cloud Analytics Platform
Estimating the Total Costs of Your Cloud Analytics Platform
DATAVERSITY335 views
SQL Server 2008 Data Mining by llangit
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Mining
llangit1.3K views
SQL Server 2008 Data Mining by llangit
SQL Server 2008 Data MiningSQL Server 2008 Data Mining
SQL Server 2008 Data Mining
llangit816 views
Abstract - Mining Source Code Change Patterns from Open-Source Repositories by ISSEL
Abstract - Mining Source Code Change Patterns from Open-Source Repositories Abstract - Mining Source Code Change Patterns from Open-Source Repositories
Abstract - Mining Source Code Change Patterns from Open-Source Repositories
ISSEL66 views
Task Adaptive Neural Network Search with Meta-Contrastive Learning by MLAI2
Task Adaptive Neural Network Search with Meta-Contrastive LearningTask Adaptive Neural Network Search with Meta-Contrastive Learning
Task Adaptive Neural Network Search with Meta-Contrastive Learning
MLAI2135 views
An introduction to Workload Modelling for Cloud Applications by Ravi Yogesh
An introduction to Workload Modelling for Cloud ApplicationsAn introduction to Workload Modelling for Cloud Applications
An introduction to Workload Modelling for Cloud Applications
Ravi Yogesh1.6K views
A tale of bug prediction in software development by Martin Pinzger
A tale of bug prediction in software developmentA tale of bug prediction in software development
A tale of bug prediction in software development
Martin Pinzger1.1K views
Alex mang patterns for scalability in microsoft azure application by Codecamp Romania
Alex mang   patterns for scalability in microsoft azure applicationAlex mang   patterns for scalability in microsoft azure application
Alex mang patterns for scalability in microsoft azure application
Codecamp Romania765 views
Managing Millions of Tests Using Databricks by Databricks
Managing Millions of Tests Using DatabricksManaging Millions of Tests Using Databricks
Managing Millions of Tests Using Databricks
Databricks331 views
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and Spark by Vital.AI
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and SparkVital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and Spark
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and Spark
Vital.AI15.2K views
Introduction to Mahout and Machine Learning by Varad Meru
Introduction to Mahout and Machine LearningIntroduction to Mahout and Machine Learning
Introduction to Mahout and Machine Learning
Varad Meru77K views
Bluemix paas 기반 saas 개발 사례 by uEngine Solutions
Bluemix paas 기반 saas 개발 사례Bluemix paas 기반 saas 개발 사례
Bluemix paas 기반 saas 개발 사례
uEngine Solutions1.1K views
B2 2005 introduction_load_testing_blackboard_primer_draft by Steve Feldman
B2 2005 introduction_load_testing_blackboard_primer_draftB2 2005 introduction_load_testing_blackboard_primer_draft
B2 2005 introduction_load_testing_blackboard_primer_draft
Steve Feldman835 views

More from ISSEL

Camera-based localization of annotated objects in indoor environments by
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsISSEL
12 views38 slides
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ... by
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...ISSEL
6 views38 slides
Design and implementation of an automation mechanism to automatically develop... by
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...ISSEL
4 views17 slides
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ... by
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ISSEL
6 views17 slides
Static Analysis of Python code and Identification of Potential Security Vulne... by
Static Analysis of Python code and Identification of Potential Security Vulne...Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...ISSEL
8 views16 slides
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ... by
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...ISSEL
26 views27 slides

More from ISSEL(20)

Camera-based localization of annotated objects in indoor environments by ISSEL
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
ISSEL12 views
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ... by ISSEL
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
ISSEL6 views
Design and implementation of an automation mechanism to automatically develop... by ISSEL
Design and implementation of an automation mechanism to automatically develop...Design and implementation of an automation mechanism to automatically develop...
Design and implementation of an automation mechanism to automatically develop...
ISSEL4 views
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ... by ISSEL
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ISSEL6 views
Static Analysis of Python code and Identification of Potential Security Vulne... by ISSEL
Static Analysis of Python code and Identification of Potential Security Vulne...Static Analysis of Python code and Identification of Potential Security Vulne...
Static Analysis of Python code and Identification of Potential Security Vulne...
ISSEL8 views
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ... by ISSEL
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...
Στατική Ανάλυση Κώδικα Python και Αναγνώριση Πιθανών Ευπαθειών Ασφαλείας για ...
ISSEL26 views
Design and Development of an Authorization and Access Control Mechanism for C... by ISSEL
Design and Development of an Authorization and Access Control Mechanism for C...Design and Development of an Authorization and Access Control Mechanism for C...
Design and Development of an Authorization and Access Control Mechanism for C...
ISSEL13 views
Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο... by ISSEL
Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο...Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο...
Σχεδίαση και Ανάπτυξη Μηχανισμού Εξουσιοδότησης και Ελέγχου Πρόσβασης σε Συνο...
ISSEL19 views
Analysis and profiling of developer profiles using data mining techniques fro... by 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...
ISSEL3 views
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση... by ISSEL
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...
ISSEL8 views
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM by ISSEL
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEMTOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM
ISSEL3 views
ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ... by ISSEL
ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...
ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...
ISSEL11 views
System Development for Prediction of Static Analysis Metrics of Source Code by ISSEL
System Development for Prediction of Static Analysis Metrics of Source CodeSystem Development for Prediction of Static Analysis Metrics of Source Code
System Development for Prediction of Static Analysis Metrics of Source Code
ISSEL6 views
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ... by ISSEL
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...
Ανάπτυξη συστήματος πρόβλεψης της εξέλιξης των μετρικών στατικής ανάλυσης πηγ...
ISSEL11 views
Micro Front-ends and Microservices Architecture in Web Application Development by ISSEL
Micro Front-ends and Microservices Architecture in Web Application DevelopmentMicro Front-ends and Microservices Architecture in Web Application Development
Micro Front-ends and Microservices Architecture in Web Application Development
ISSEL8 views
Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ... by ISSEL
Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ...Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ...
Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ...
ISSEL19 views
Indoor localization using wireless networks by ISSEL
Indoor localization using wireless networksIndoor localization using wireless networks
Indoor localization using wireless networks
ISSEL5 views
Εντοπισμός θέσης σε εσωτερικούς χώρους με χρήση ασύρματων δικτύων by ISSEL
Εντοπισμός θέσης σε εσωτερικούς χώρους με χρήση ασύρματων δικτύωνΕντοπισμός θέσης σε εσωτερικούς χώρους με χρήση ασύρματων δικτύων
Εντοπισμός θέσης σε εσωτερικούς χώρους με χρήση ασύρματων δικτύων
ISSEL10 views
Design and implementation of a big data architecture for storage, real-time p... by ISSEL
Design and implementation of a big data architecture for storage, real-time p...Design and implementation of a big data architecture for storage, real-time p...
Design and implementation of a big data architecture for storage, real-time p...
ISSEL9 views
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ... by ISSEL
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...
Σχεδιασµός και υλοποίηση µιας αρχιτεκτονικής µεγάλων δεδοµένων για την αποθήκ...
ISSEL16 views

Recently uploaded

Flask-Python by
Flask-PythonFlask-Python
Flask-PythonTriloki Gupta
10 views12 slides
predicting-m3-devopsconMunich-2023.pptx by
predicting-m3-devopsconMunich-2023.pptxpredicting-m3-devopsconMunich-2023.pptx
predicting-m3-devopsconMunich-2023.pptxTier1 app
10 views24 slides
Quality Engineer: A Day in the Life by
Quality Engineer: A Day in the LifeQuality Engineer: A Day in the Life
Quality Engineer: A Day in the LifeJohn Valentino
10 views18 slides
Bootstrapping vs Venture Capital.pptx by
Bootstrapping vs Venture Capital.pptxBootstrapping vs Venture Capital.pptx
Bootstrapping vs Venture Capital.pptxZeljko Svedic
16 views17 slides
aATP - New Correlation Confirmation Feature.pptx by
aATP - New Correlation Confirmation Feature.pptxaATP - New Correlation Confirmation Feature.pptx
aATP - New Correlation Confirmation Feature.pptxEsatEsenek1
222 views6 slides
Transport Management System - Shipment & Container Tracking by
Transport Management System - Shipment & Container TrackingTransport Management System - Shipment & Container Tracking
Transport Management System - Shipment & Container TrackingFreightoscope
6 views3 slides

Recently uploaded(20)

predicting-m3-devopsconMunich-2023.pptx by Tier1 app
predicting-m3-devopsconMunich-2023.pptxpredicting-m3-devopsconMunich-2023.pptx
predicting-m3-devopsconMunich-2023.pptx
Tier1 app10 views
Quality Engineer: A Day in the Life by John Valentino
Quality Engineer: A Day in the LifeQuality Engineer: A Day in the Life
Quality Engineer: A Day in the Life
John Valentino10 views
Bootstrapping vs Venture Capital.pptx by Zeljko Svedic
Bootstrapping vs Venture Capital.pptxBootstrapping vs Venture Capital.pptx
Bootstrapping vs Venture Capital.pptx
Zeljko Svedic16 views
aATP - New Correlation Confirmation Feature.pptx by EsatEsenek1
aATP - New Correlation Confirmation Feature.pptxaATP - New Correlation Confirmation Feature.pptx
aATP - New Correlation Confirmation Feature.pptx
EsatEsenek1222 views
Transport Management System - Shipment & Container Tracking by Freightoscope
Transport Management System - Shipment & Container TrackingTransport Management System - Shipment & Container Tracking
Transport Management System - Shipment & Container Tracking
Freightoscope 6 views
tecnologia18.docx by nosi6702
tecnologia18.docxtecnologia18.docx
tecnologia18.docx
nosi67026 views
Mobile App Development Company by Richestsoft
Mobile App Development CompanyMobile App Development Company
Mobile App Development Company
Richestsoft 5 views
Supercharging your Python Development Environment with VS Code and Dev Contai... by Dawn Wages
Supercharging your Python Development Environment with VS Code and Dev Contai...Supercharging your Python Development Environment with VS Code and Dev Contai...
Supercharging your Python Development Environment with VS Code and Dev Contai...
Dawn Wages5 views
Ports-and-Adapters Architecture for Embedded HMI by Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert35 views
ADDO_2022_CICID_Tom_Halpin.pdf by TomHalpin9
ADDO_2022_CICID_Tom_Halpin.pdfADDO_2022_CICID_Tom_Halpin.pdf
ADDO_2022_CICID_Tom_Halpin.pdf
TomHalpin96 views
Advanced API Mocking Techniques Using Wiremock by Dimpy Adhikary
Advanced API Mocking Techniques Using WiremockAdvanced API Mocking Techniques Using Wiremock
Advanced API Mocking Techniques Using Wiremock
Dimpy Adhikary5 views
Top-5-production-devconMunich-2023.pptx by Tier1 app
Top-5-production-devconMunich-2023.pptxTop-5-production-devconMunich-2023.pptx
Top-5-production-devconMunich-2023.pptx
Tier1 app10 views
Automated Testing of Microsoft Power BI Reports by RTTS
Automated Testing of Microsoft Power BI ReportsAutomated Testing of Microsoft Power BI Reports
Automated Testing of Microsoft Power BI Reports
RTTS11 views
Understanding HTML terminology by artembondar5
Understanding HTML terminologyUnderstanding HTML terminology
Understanding HTML terminology
artembondar58 views
predicting-m3-devopsconMunich-2023-v2.pptx by Tier1 app
predicting-m3-devopsconMunich-2023-v2.pptxpredicting-m3-devopsconMunich-2023-v2.pptx
predicting-m3-devopsconMunich-2023-v2.pptx
Tier1 app14 views

Matsoukas Vasileios Thesis Presentation

  • 1. “Αυτοματοποίηση ανάθεσης εργασιών με εφαρμογή τεχνικών εξόρυξης γνώσης σε αποθετήρια ανοιχτού λογισμικού” ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ & ΥΠΟΛΟΓΙΣΤΩΝ Επιβλέποντες: Ανδρέας Λ. Συμεωνίδης, Αναπληρωτής Καθηγητής Α.Π.Θ. Διαμαντόπουλος Θεμιστοκλής, Μεταδιδακτορικός Ερευνητής Παπαμιχαήλ Μιχαήλ, Υποψήφιος Διδάκτωρ Θεσσαλονίκη, 26 Μαρτίου 2020 Εκπόνηση: Ματσούκας Βασίλειος, Α.Ε.Μ. 8743 Διπλωματική εργασία
  • 2. Διάρθρωση Παρουσίασης  Εισαγωγή  Μεθοδολογία  Αξιολόγηση & Αποτελέσματα  Συμπεράσματα  Μελλοντική Εργασία 26.3.2020 Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού 2
  • 3. Περιγραφή του Προβλήματος 26.3.2020 3  Αυξημένες απαιτήσεις έργων λογισμικού  Αποθετήρια Κώδικα: • Διάσπαρτες ομάδες • Ανάγκη για διαχείριση και συντονισμό της ομάδας Ποιότητα Λογισμικού ⇔ Σωστή διαχείριση και ανάθεση εργασιών Πρόβλημα: Χειροκίνητη αξιολόγηση και ανάθεση των εργασιών: • Μεγάλος όγκος αναφορών και ζητημάτων καθημερινά • Πρακτικά αναποτελεσματικό σε έργα μεγάλης κλίμακας!! • Ανθρωποώρες εργασίες που μπορούν να αξιοποιηθούν πιο παραγωγικά • Οικονομικές επιπτώσεις στο project, ακόμα και απώλεια στόχου παραγωγής Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 4. Σκοπός της Διπλωματικής & το περιβάλλον του GitHub 26.3.2020 4 Στόχος: Αυτοματοποίηση της διαδικασίας ανάθεσης εργασιών: • Αξιοποίηση πληροφορίας από αποθετήρια κώδικα • Χαρακτηριστικά που μαρτυρούν την καταλληλότητα του μηχανικού για μια εργασία • Βελτιστοποίηση-Ενίσχυση εμπιστευτικότητας του μοντέλου Τι είναι το GitHub & γιατί το επιλέξαμε ως πηγή δεδομένων; • Πλατφόρμα φιλοξενίας συλλογής ανοιχτού κώδικα • Επιπλέον χαρακτηριστικά: Bug Tracking, Task Management, Feature Requests • Δημοφιλές: 40M+ χρήστες, 100Μ+ αποθετήρια (Ιαν. 2020) • Διαθεσιμότητα δεδομένων (Rest API v3) Καινοτομία! Δεν υπάρχει λειτουργικότητα αυτόματης ανάθεσης στο GitHub Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 5. GitHub Issues 26.3.2020 5 1 2 3 6 5 4 Σημαντικά πεδία ενός Issue Report: 1. Title 2. Status 3. Body 4. Comments 5. Labels 6. Assignee Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 6. Μεθοδολογία Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού 26.3.2020 6
  • 7. Αρχιτεκτονική Συστήματος 26.3.2020 7 Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 8. Συλλογή και Οργάνωση Δεδομένων 26.3.2020 8  Συλλογή δεδομένων από 3000 αποθετήρια  Αρχεία σε .JSON μορφή ⇒ βολικά για NoSQL βάση δεδομένων (MongoDB)  6 Collections, τα πιο βασικά πεδία: Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 9. Στάδια Προεπεξεργασίας 26.3.2020 9  Επιλογή Αποθετηρίων και Καθορισμός Developers: • Τουλάχιστον 2 developers στο αποθετήριο • Συνολικά issues στο [50, 5000] • Support 15 κλειστών issues για κάθε developer  Εύρωστη επιλογή χαρακτηριστικού κλάσης: • Πεδίο “assignee” vs “closed_by” • Ποιο πεδίο να εμπιστευτούμε; • Είναι πιθανό να έχουμε ελλειπούσες τιμές. • Σύστημα απόφασης 3 επιπέδων (διαγρ. ροής)  Προεπεξεργασία κειμένου: • Ανεπεξέργαστο κείμενο ⇒ εισαγωγή θορύβου Assigne e? Closed_b y? Dev Role? Κλάση ← assignee Κλάση ← closed_by Απόρριψη issue Απόρριψ η issue Ye s No Ye s No Ops Dev, DevOp s Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 10. Χαρακτηριστικά Αξιολόγησης Συνεισφοράς (1/5) 26.3.2020 10 “Κατά πόσο συνδέεται η περιγραφή του προβλήματος με τα προβλήματα που λύνει ο developer;” Title, Body  Μετατροπή κειμένου σε μορφή που επιτρέπει σύγκριση ⇒ Διανυσματοποίηση - Vector Space Modeling  Τεχνική διανυσματοποίησης TF-IDF (Term Frequency – Inverse Document Frequency): • ΤF: συχνότητα εμφάνισης του όρου στον τίτλο* • IDF: λογάριθμος (πλήθος τίτλων/ πλήθος των τίτλων* όπου εμφανίζεται ο όρος) • Για τον όρο 𝒘, document D, και corpus C : Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού * Ομοίως και για το σώμα(body)
  • 11. Χαρακτηριστικά Αξιολόγησης Συνεισφοράς (2/5) 26.3.2020 11 Ζητούμενο: Κατηγοριοποίηση νέου issue με βάση τίτλο/σώμα • Στην περίπτωσή μας, κατηγορία == developer ⇒ Multiclass πρόβλημα ταξινόμησης Support Vector Machines: • “One vs Rest” προσέγγιση: ανήκει ή όχι το issue στα ενδιαφέροντα του dev? • Στην πραγματικότητα μας ενδιαφέρει η πιθανότητα ανάθεσης: απόσταση από το επίπεδο διαχωρισμού Επιλογή Παραμέτρων SVM: • Κάθε αποθετήριο διαφέρει στη φύση δεδομένων του • Ορισμός ενός grid παραμέτρων για ευελιξία • Εύρεση βέλτιστου συνδυασμού με 5-fold Cross Validation Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 12. Χαρακτηριστικά Αξιολόγησης Συνεισφοράς (3/5) 26.3.2020 12 Labels “Κατά πόσο ένας dev τείνει να ασχολείται με issues που φέρουν συγκεκριμένο label;” Αξιολόγηση dev με βάση τα labels: • Μέτρηση ενασχόλησης ανά label στα παρελθοντικά issues • Ο dev λαμβάνει σκορ ίσο με τη σχετική συχνότητα εμφάνισής του σε αυτό το label (αριθμός στο [0, 1]) • Σε περίπτωση που ένα issue φέρει πολλαπλά labels, τότε αθροίζουμε τις συχνότητες του dev στο κάθε label, και εφαρμόζουμε το προηγούμενο βήμα. Labels Contribution Example Label Dev A Dev B Dev C “Interface” 5 10 15 Score 5/30 10/30 15/30 Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 13. Χαρακτηριστικά Αξιολόγησης Συνεισφοράς (4/5) 26.3.2020 13 Comments “Πόσο συνδέονται τα παρελθοντικά issues στα οποία έχει σχολιάσει ο dev με το υπό εξέταση issue;” Αξιολόγηση dev με βάση τα comments: • Ανακτώνται τα issues που έχει σχολιάσει ο dev σε παράθυρο 365 ημερών • Υπολογίζεται η ομοιότητα συνημιτόνου των τίτλων των σχολιασθέντων issues με τον τίτλο του νέου issue • Εξάγεται η μέση τιμή ομοιότητας συνημιτόνου • Η τιμή αυτή αποτελεί σκορ του dev από τα comments (ανήκει στο [0, 1]) Μετρική ομοιότητας συνημιτόνου: Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 14. Χαρακτηριστικά Αξιολόγησης Συνεισφοράς (5/5) 26.3.2020 14 Commits “Κατά πόσο μπορούν τα παρελθοντικά commits ενός developer να συνδεθούν με το υπό εξέταση issue;” Αξιολόγηση dev με βάση τα commits: • Ανακτώνται τα commits που έχει κάνει ο dev σε παράθυρο 365 ημερών • Υπολογίζεται η ομοιότητα συνημιτόνου του commit message των commits με τον τίτλο του νέου issue • Εξάγεται η μέγιστη τιμή ομοιότητας συνημιτόνου. • Η τιμή αυτή αποτελεί σκορ του dev από τα commits (ανήκει στο [0, 1]) Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 15. Συνολική Συνεισφορά 26.3.2020 15 • Η τελική ανάθεση issue βασίζεται στα 5 χαρακτηριστικά: title, body, labels, comments, commits. • Στόχος να αυξήσουμε την εμπιστευτικότητα με την οποία το σύστημα αναθέτει ένα issue • Για κάθε dev υπολογίζονται ο μέσος όρος των σκορ που λαμβάνει • Επιλέγεται εκείνος-εκείνη που συγκεντρώνει το μεγαλύτερο συνολικό σκορ Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 16. Βελτιστοποίηση Υπολογισμού Συνεισφοράς 26.3.2020 16 “Μήπως υπάρχει διαφορετική αντιμετώπιση, και συνεπώς διαφορετική βαρύτητα χαρακτηριστικών ανά αποθετήριο;” • Στόχος να προσαρμόσουμε κατάλληλα την βαρύτητα των 5 χαρακτηριστικών, αντί για το μέσο όρο τους • Τη δουλειά αυτή αναλαμβάνει ένα fully-connected νευρωνικό δίκτυο • Είσοδος: τα σκορ του dev • Έξοδος: η καταλληλότητα ανάθεσης στο [0,1] Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 17. Generalization and Hyperparameters Selection 26.3.2020 17 • Δυσκολία: Ένα νευρωνικό που να γενικεύει όχι σε ένα, αλλά σε πολλά αποθετήρια! • Αντιμετώπιση: Reconfigurable αρχιτεκτονική νευρωνικού δικτύου  Ορισμός ενός σετ μεταβλητών παραμέτρων ⇒ Επιλογή των βέλτιστων με αναζήτηση πλέγματος και 5-fold Cross Validation  Ορισμός ενός σετ σταθερών παραμέτρων Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 18. Αποτελέσματα & Αξιολόγηση 26.3.2020 18 Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 19. Διαδικασία Εκπαίδευσης & Αξιολόγησης 26.3.2020 19 Configurations προς Αξιολόγηση: • “Title+Body” • “Title+Body+Labels” • “Title+Body+Labels+Comments” • “Title+Body+Labels+Comments+Commits” • “Optimized Model” Αυξητική Μάθηση: • Χρονική διάταξη των issues • Τα πρώτα 70% για training και 30% testing • Διαχωρισμός του testing σε 6 ισομήκη folds • Πρόβλεψη στο επόμενο fold • Ενσωμάτωση στο training set και συνέχεια στο επόμενο fold Μετρικές Αξιολόγησης: 𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝑇𝑃 + 𝑇𝑁 𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁 𝐹1_𝑆𝑐𝑜𝑟𝑒 = 2 × 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 ∙ 𝑟𝑒𝑐𝑎𝑙𝑙 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑟𝑒𝑐𝑎𝑙𝑙 Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 20. Κατανομή Developers στα προς Ανάλυση Αποθετήρια 26.3.2020 20 Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 21. Επίδραση του πλήθους των Developers 26.3.2020 21 Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 22. Κατανομή Απόδοσης των Configurations - Accuracy 26.3.2020 22 Ποσοστό παρατηρήσεων πάνω από 0.6: • 27% για το ‘title+body’ • 28% για το ‘title+body+labels’ • 28% για το ‘title+body+labels+comments’ • 42% για το ‘title+body+labels+comments+commits’ • 46% για το ‘optimized model’ Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 23. Κατανομή Απόδοσης των Configurations – F1-Score 26.3.2020 23 Ποσοστό παρατηρήσεων πάνω από 0.6: • 23% για το ‘title+body’ • 25% για το ‘title+body+labels’ • 29% για το ‘title+body+labels+comments’ • 40% για το ‘title+body+labels+comments+commits’ • 43% για το ‘optimized model’ Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 24. Ποσοστό Καλύτερης Δυνατής Τιμής 26.3.2020 24 Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 25. Συμπεράσματα & Μελλοντική Εργασία 26.3.2020 25 Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 26. Συμπεράσματα 26.3.2020 26 Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού  Η ανάλυση της δραστηριότητας ενός developer δύναται να αξιοποιηθεί στην αυτοματοποίηση ανάθεσης εργασιών  Πληροφορίες από διαφορετικές πηγές μπορούν να ενισχύσουν την εμπιστευτικότητα του συστήματος  Τα πειράματα δείχνουν ότι το σύστημα ανταποκρίνεται ικανοποιητικά σε ένα μεγάλο εύρος αποθετηρίων  Το σύστημα μπορεί να αποτελέσει χρήσιμο εργαλείο στα πλαίσια της ανάπτυξης έργων λογισμικού.
  • 27. Μελλοντική Εργασία 26.3.2020 27  Εξαγωγή χαρακτηριστικών από αρχεία κώδικα  Fine-tuning ή επαναπροσδιορισμός του στρώματος βελτιστοποίησης  Βελτίωση διαδικασίας εκπαίδευσης (issue-προς-issue εκπαίδευση)  Επέκταση με User Interface και ανάθεση σε πραγματικό χρόνο Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού
  • 28. Ευχαριστίες 26.3.2020 28 Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού Θα ήθελα να ευχαριστήσω θερμά: • Τον κ. Συμεωνίδη Ανδρέα • Τους Διαμαντόπουλο Θέμη και Παπαμιχαήλ Μιχάλη • Όλους εσάς που παρακολουθήσατε την παρουσίαση!
  • 29. 26.3.2020 29 Αυτοματοποίηση Ανάθεσης Εργασιών με Εφαρμογή Τεχνικών Εξόρυξης Γνώσης σε Αποθετήρια Ανοιχτού Λογισμικού Ευχαριστώ για την προσοχή σας  Ερωτήσεις;