Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Elpida Falara

60 views

Published on

Βελτιστοποίηση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Elpida Falara

  1. 1. Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Βελτίωση Ανάθεσης Εργασιών Μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού Φαλάρα Ελπίδα ΑΕΜ: 8305 Επιβλέποντες: Ανδρέας Λ. Συμεωνίδης, Αναπληρωτής Καθηγητής Θεμιστοκλής Διαμαντόπουλος, Μεταδιδακτορικός Ερευνητής Μιχάλης Παπαμιχαήλ, Υποψήφιος Διδάκτορας Θεσσαλονίκη, 25 Φεβρουαρίου 2019 1
  2. 2. Σκοπός της διπλωματικής εργασίας Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 2 Πρόβλημα  Μεγάλα έργα λογισμικού σε αποθετήρια ανοιχτού λογισμικού  Πολλές καταγραφές σφαλμάτων και βελτιώσεων  Εξέταση των ζητημάτων σφαλμάτων από ένα συνήθως άτομο  Χρονοβόρα διαδικασία ανάθεσης εργασιών στην ομάδα  Σύγχυση μεταξύ των μελών της ομάδας Υλοποίηση Σύστημα που προτείνει τον κατάλληλο μηχανικό λογισμικού από την ομάδα για να του ανατεθεί μια εργασία (χαρακτηριστικό/feature ή σφάλμα/bug)
  3. 3. Μεθοδολογία Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 3
  4. 4. Προεπεξεργασία (1/3) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 4 Πλήθος αποθετηρίων σε σχέση με τους συνεισφορείς
  5. 5. Προεπεξεργασία (2/3) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 5 Αριθμός των contributors σε σχέση με τον αριθμό των commits και των κλειστών issues
  6. 6. Προεπεξεργασία (3/3) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 6 Συσχέτιση πλήθους commits και κλειστών issues
  7. 7. Βάση Δεδομένων Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 7 Περιέχει δεδομένα για κάθε αποθετήριο και για κάθε κλειστό Issue τα εξής: • ID, π.χ. #1@gonzalez • Issue Number (π.χ. 1) • Title/Body (π.χ. “bug fix for releas 1” (Μετά από stemming)) • Developer (π.χ. gonzalez) • Similarity Score (Για όλα θεωρείται 0 σε αυτό το στάδιο) • Closed at (π.χ. 25/02/2018) • Commits (π.χ. 100) • Lines Added, (π.χ. 1000) • Lines Deleted (π.χ. 520) • Issues Opened (π.χ. 10) • Issues Closed (π.χ. 20)
  8. 8. Υποσύστημα Εκπαίδευσης (1/3) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 8 1. Μετατροπή των τίτλων του κάθε issue σε διάνυσμα  Αλγόριθμος TFIDF (term frequency – inverse term frequency) • Βρίσκει το βάρος σημασίας κάθε λέξης από ένα σύνολο κειμένων • Κατακερματίζει κάθε πρόταση (τίτλο issue) σε λέξεις • Κάθε πρόταση μετατρέπεται σε διάνυσμα με διαστάσεις τα βάρη των λέξεων
  9. 9. Υποσύστημα Εκπαίδευσης (2/3) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 9 2. Υπολογισμός Ομοιότητας  Αλγόριθμος Cosine Similarity • Σχετική γωνία μεταξύ του διανύσματος του ανοιχτού issue και των διανυσμάτων κάθε Developer • Σκορ Cosine Similarity του Developer για το issue  Αλγόριθμος LinearSVC • Εκπαίδευση των διανυσμάτων με labels τα ονόματα των Developers • Πιθανότητα να ανήκει το διάνυσμα του ανοιχτού issue στο χώρο των διανυσμάτων του Developer • Σκορ Similarity Score του Developer για το issue
  10. 10. Υποσύστημα Εκπαίδευσης (3/3) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 10 3. Υπολογισμός Συνεισφοράς  Αλγόριθμος One Class SVM • Χαρακτηριστικά εκπαίδευσης: Commits, Lines Added, Lines Deleted, Issues Opened, Issues Closed • Ορισμός του συνόλου συμπεριφοράς που προκύπτει από την εκπαίδευση • Μετασχηματισμός του +1, -1 σε σκορ μεταξύ [0,1] • Σκορ One Class Score του Developer για το Issue
  11. 11. Πρόβλεψη Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 11 A. Σκορ Ομοιότητας Επιλέγεται για κάθε περίπτωση ο Developer με το μεγαλύτερο:  Cosine Similarity Score  Similarity Score B. Σκορ Συνεισφοράς Προβλέπει τον Developer με το μεγαλύτερο One Class Score C. Συνδυασμός Σκορ Ομοιότητας και Συνεισφοράς Προτείνει τον Developer με το μεγαλύτερο:  Average (Cosine Similarity Score, One Class Score)  Average(Similarity Score, One Class Score)  Max (Cosine Similarity Score, One Class Score)  Max (Similarity Score, One Class Score)
  12. 12. Αποτελέσματα (1/10) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 12 29% 54% 50% 36% 41% 34% 42% Κατανομή των Αποθετηρίων σε σχέση με τις τιμές Precision που εμφάνισαν
  13. 13. Αποτελέσματα (2/10) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 13 38% 14% 21% 14% 14% 31% 51% Κατανομή των Αποθετηρίων σε σχέση με τις τιμές Recall που εμφάνισαν
  14. 14. Αποτελέσματα (3/10) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 14 19% 22% 34% 21% 22% 32% 50% Κατανομή των Αποθετηρίων σε σχέση με τις τιμές F1Score που εμφάνισαν
  15. 15. Αποτελέσματα (4/10) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 15
  16. 16. Αποτελέσματα (5/10) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 16 Τιμές Precision σε σχέση με το πλήθος των μελών της ομάδας ανά αποθετήριο
  17. 17. Αποτελέσματα (6/10) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 17 Τιμές Recall σε σχέση με το πλήθος των μελών της ομάδας ανά αποθετήριο
  18. 18. Αποτελέσματα (7/10) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 18 Τιμές F1Score σε σχέση με το πλήθος των μελών της ομάδας ανά αποθετήριο
  19. 19. Αποτελέσματα (8/10) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 19 Μέση Τιμή Precision σε σχέση με το πλήθος των μελών της ομάδας ανά αποθετήριο
  20. 20. Αποτελέσματα (9/10) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 20 Μέση Tιμή Recall σε σχέση με το πλήθος των μελών της ομάδας ανά αποθετήριο
  21. 21. Αποτελέσματα (10/10) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 21 Μέση Τιμή F1Score σε σχέση με το πλήθος των μελών της ομάδας ανά αποθετήριο
  22. 22. Συμπεράσματα (1/2) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 22 LinearSVC • Καλύτερες τιμές Precision, Recall, F1Score • Δεν επηρεάζεται ιδιαίτερα από την αύξηση των Contributors • Διαχειρίζεται ικανοποιητικά τα μεγάλης διάστασης διανύσματα Cosine Similarity • Κακή απόδοση λόγω της μεγάλης διάστασης των διανυσμάτων • Μεγάλη εξάρτηση από το πλήθος των Contributors One Class SVM • Φθίνουσα πορεία των μετρικών αξιολόγησης με την αύξηση των contributors • Δε βοήθησε η επιλογή των χαρακτηριστικών εκπαίδευσης
  23. 23. Συμπεράσματα (2/2) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 23 Avg Cosine Similarity One Class SVM • Μη ικανοποιητικές τιμές μετρικών αξιολόγησης μετά από τους 2 contributors Max Cosine Similarity One Class SVM • Λίγο καλύτερα αποτελέσματα από το Avg Cosine Similarity One Class SVM • Αντιμετωπίζει τα θέματα του Cosine Similarity και One Class SVM Avg LinearSVC One Class SVM • Προσπαθεί να ακολουθήσει την πορεία του LinearSVC στις μετρικές αξιολόγησης • Επηρεάζεται από τη φθίνουσα πορεία του One Class SVM Max LinearSVC One Class SVM • Λίγο καλύτερο Precision από το Avg LinearSVC One Class SVM • Χειρότερο Recall, F1Score εξαιτίας του One Class SVM
  24. 24. Μελλοντική Εργασία (1/2) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 24 Βελτίωση της μεθόδου Υπολογισμού Συνεισφοράς Μελέτη προσθήκης χαρακτηριστικών εκπαίδευσης για κάθε Developer • Το πλήθος των issues που του ανατέθηκαν και τα έκλεισε με επιτυχία • Το πλήθος των issues του που έκλεισαν και ξανάνοιξαν • Οι ώρες που δούλεψε στο έργο • Η συμμετοχή του στη συζήτηση των issues • Ο μέσος χρόνος που έκανε να κλείσει τα issues
  25. 25. Μελλοντική Εργασία (2/2) Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 25 Βελτίωση της μεθόδου Υπολογισμού Ομοιότητας Μελέτη προσθήκη χαρακτηριστικών εκπαίδευσης στον LinearSVC • Τους τίτλους των Commits • Των σχολίων από τα Issues • Των σχολίων από Commits • Τα labels των Issues Προσθήκη της παραμέτρου Κώδικας • Μελέτη της θέσης που προκύπτει το bug αν σχετίζεται με κάποιο προηγούμενο Commit
  26. 26. Ευχαριστίες Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 26 Ευχαριστώ θερμά • Τον κ. Συμεωνίδη Ανδρέα • Τους Διαμαντόπουλο Θέμη και Παπαμιχαήλ Μιχάλη • Και εσάς για την προσοχή σας
  27. 27. Ερωτήσεις Θεσσαλονίκη, Φεβρουάριος 2019 Βελτίωση Ανάθεσης Εργασιών μέσω Ανάλυσης Συνεισφορών από Αποθετήρια Ανοιχτού Λογισμικού 27

×