SlideShare a Scribd company logo
1 of 20
Ανάλυση και μοντελοποίηση προφίλ
προγραμματιστών μέσω τεχνικών εξόρυξης
γνώσης από αποθετήρια ανοιχτού λογισμικού
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ
ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ
ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ
ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ
ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑΣ ΠΛΗΡΟΦΟΡΙΩΝ ΚΑΙ ΥΠΟΛΟΓΙΣΜΩΝ
Στέργιος Νάνος
ΑΕΜ: 8701
Επιβλέποντες:
Ανδρέας Λ. Συμεωνίδης
Μιχάλης Παπαμιχαήλ
Δυσκολίες Έργων Λογισμικού
Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 2
Αλλαγή απαιτήσεων
λογισμικού
Εκτόξευση κλίμακας και
πολυπλοκότητας έργου
Μη αποτελεσματική
επικοινωνία
Υπέρβαση αρχικού
οικονομικού
προϋπολογισμού
1.Μη ολοκλήρωση
Μέθοδοι Παραγωγής Λογισμικού
Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 3
WATERFALL ITERATIVE AGILE DEVOPS
Ρόλοι-Αρμοδιότητες Προγραμματιστών
• Developer
• Operator
• DevOps
• Project Manager / Product Owner
• Reviewer
• Quality Assurance
Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 4
GitHub to the Rescue
• Πραγματικές τεχνικές δεξιότητες των μηχανικών
• Γλώσσες προγραμματισμού
• Εργαλεία
• Δεξιότητες επικοινωνίας
Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 5
Σκοπός Διπλωματικής
 Αξιοποίηση των συνεισφορών των
προγραμματιστών σε αποθετήρια
ανοιχτού κώδικα
 Δημιουργία συστήματος άντλησης
συνεισφορών και παραγωγής μετρικών
 Κατασκευή μοντέλου
κατηγοριοποίησης προγραμματιστών
ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ
Ιούλιος 2023 6
Γνώσεις που αποκτήθηκαν
• Κατασκευή διακομιστή
• Γνώσεις προγραμματισμού σε
JavaScript/TypeScript
• Χρήση web εργαλείων και framework
(Node.js, Express) και API (REST,
GraphQL)
• Χρήση ΣΔΒΔ MongoDB
• Αλγόριθμοι και μοντέλα ομαδοποίησης
• Τεχνικές προεπεξεργασίας δεδομένων
• Γνώσεις προγραμματισμού σε Python
ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ
Ιούλιος 2023 7
Αρχιτεκτονική του
Συστήματος
ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ
Ιούλιος 2023 8
Δεδομένα
Στατιστικά dataset
Μετρική Τιμή
Αριθμός Χρηστών 10.213
Αριθμός Αποθετηρίων 147.176
Αριθμός Commit 2.115.880
Αριθμός Issue 113.520
Αριθμός Pull Request 258.517
Αριθμός Pull Request
Review
317.449
Αριθμός Σχολίων σε
Commit
6.898
Αριθμός Σχολίων σε Issue 1.089.506
Συνολικό Μέγεθος
Δεδομένων
5.38GB (1.56GB
Συμπιεσμένα)
Μετρικές που χρησιμοποιήθηκαν για την
εκπαίδευση του μοντέλου
Όνομα Περιγραφή
Commits.daily_count__sum Συνολικός αριθμός commit
Issues.daily_count__sum Συνολικός αριθμός issue
PullRequests.daily_count__sum Συνολικός αριθμός pull request
PullRequestReviews.daily_count
__sum
Συνολικός αριθμός pull request
review
UserIssueComments.
PullRequests_daily_count__sum
Συνολικός αριθμός σχολίων σε
pull request
UserIssueComments.
Issues_daily_count__sum
Συνολικός αριθμός σχολίων σε
issue
Commits.code_ratio Ποσοστό αρχείων σχετικά με
συγγραφή κώδικα
Commits.doc_ratio Ποσοστό αρχείων σχετικά με
τεκμηρίωση
Commits.CICD_ratio Ποσοστό αρχείων σχετικά με
εργαλεία CI/CD
ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ
Ιούλιος 2023 9
Προεπεξεργασία
Αρχικός αριθμός δεδομένων: 180.028
Τελικός αριθμός δεδομένων: 11.488
ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ
Ιούλιος 2023 10
Οργάνωση δεδομένων ανά
χρήστη και αποθετήριο
Αφαίρεση bot λογαριασμών
Επιλογή αριθμού ελάχιστων
συνεισφορών
Αφαίρεση εξωκείμενων
τιμών
Κανονικοποίηση στο εύρος
[0, 1]
Μετρικές εσωτερικής αξιολόγησης
• Silhouette score,
• Davies-Bouldin index,
• Calinski-Harabasz index,
• DBCV
Ομαδοποίηση
Αλγόριθμοι
• KMeans,
• DBSCAN,
• Agglomerative
Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 11
Agglomerative Model
Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 12
Agglomerative Model
ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ
Ιούλιος 2023 13
Agglomerative Model
ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ
Ιούλιος 2023 14
Ρόλοι Προγραμματιστών
Agile Developer
•Κύριο μέλημα την
συγγραφή κώδικα
•Μικρό μέγεθος
commit
•Αυξημένη χρήση
εργαλείων CI/CD
Developer
(commits)
•Κύρια μέριμνα
είναι η εγγραφή
πηγαίου κώδικα
για την ανάπτυξη
του προϊόντος
•Συμμετοχή σε
προσωπικά έργα
•Μη-προσωπικά
έργα στα οποία
είναι
συνδημιουργοί
Project
Management Team
•Συνεισφορά κατά
κύριο λόγο με
σχόλια σε Pull
Requests και Issues
•Παλαιότερος ρόλος
των μελών μπορεί
να ήταν η
συγγραφή κώδικα
•Πλέον έχει
μετατοπιστεί σε
έναν περισσότερο
διοικητικό ρόλο
DevOps
•Συμμετοχή σε
ολόκληρη τη
διαδικασία
ανάπτυξης του
έργου λογισμικού
Developer (pull
Requests)
•Τα μέλη της
ομάδας αυτής
ενδιαφέρονται
κατά κύριο λόγο
για την συγγραφή
πηγαίου κώδικα
•Δεν συμμετέχουν
σε άλλες
δραστηριότητες,
όπως το άνοιγμα
issue
•Συνεισφορές σε
αποθετήρια που
δεν είναι δικά τους
•Είναι συχνά core
members των
αποθετηρίων
Operations
(documentation)
•Συνεισφορές σε
commit τα οποία
είναι σχετικά με
την τεκμηρίωση
πηγαίου κώδικα ή
την τεκμηρίωση
του έργου
λογισμικού.
•Συχνά, τα
αποθετήρια που
συμμετέχουν είναι
εξειδικευμένα για
την συγγραφή
τεκμηρίωσης
Reviewer
•Πραγματοποίηση
Pull Request
Reviews
•Αποθετήρια στα
οποία, είναι
συνιδρυτές,
•Αποθετήρια στα
οποία κατέχουν
εξέχουσα θέση
Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 15
Μοντέλο στην Παραγωγή
• Αδυναμία χρήσης Agglomerative
μοντέλου
• Εκπαίδευση μοντέλου ταξινόμησης
RandomForest
• Ακρίβεια (accuracy) 93,8%
ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ
Ιούλιος 2023 16
Ανακεφαλαίωση
 Αξιοποίηση συνεισφορών για μοντελοποίηση προφίλ προγραμματιστών
 Κατασκευή ενιαίου συστήματος συλλογής δεδομένων και παραγωγής μετρικών
 Κατασκευή μοντέλου ομαδοποίησης για την αντιστοίχιση προγραμματιστών με
ρόλους
 Επιτυχή αντιστοίχιση προγραμματιστών σε ρόλους
 Εκπαίδευση μοντέλου ταξινόμησης για χρήση στη παραγωγή
Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 17
Μελλοντική Εργασία
• Δημιουργία γραφικής διεπαφής
• Επέκταση Dataset
• Χρήση καθημερινών συνεισφορών προγραμματιστών
Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 18
Ευχαριστίες
Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 19
Θα ήθελα να ευχαριστήσω τους επιβλέποντες της διπλωματικής μου
εργασίας, τον καθηγητή μου κ. Συμεωνίδη Ανδρέα και τον Δρ. Παπαμιχαήλ
Μιχάλη για την βοήθεια και καθοδήγηση που μου προσέφεραν.
Ερωτήσεις
ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ
Ιούλιος 2023 20

More Related Content

Similar to Analysis and profiling of developer profiles using data mining techniques from open source software repositories

Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...ISSEL
 
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...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
 
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...ISSEL
 
Software requirements
Software requirementsSoftware requirements
Software requirementsGeorge Kara
 
Software process improvement
Software process improvementSoftware process improvement
Software process improvementGeorge Kara
 
Pantelidou Eirini: Design and development of a system for incremental static ...
Pantelidou Eirini: Design and development of a system for incremental static ...Pantelidou Eirini: Design and development of a system for incremental static ...
Pantelidou Eirini: Design and development of a system for incremental static ...Manos Tsardoulias
 
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...ISSEL
 
Thesis.Net Applications
Thesis.Net ApplicationsThesis.Net Applications
Thesis.Net Applicationspdalianis
 
Παρουσίαση προιόντων Τhesis.Net - Πέτρος Νταλιάνης
Παρουσίαση προιόντων Τhesis.Net - Πέτρος ΝταλιάνηςΠαρουσίαση προιόντων Τhesis.Net - Πέτρος Νταλιάνης
Παρουσίαση προιόντων Τhesis.Net - Πέτρος ΝταλιάνηςAnna Tsolakou
 
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 IntegrationISSEL
 
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούΑνάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούISSEL
 
Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419ISSEL
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...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
 
12 Multimedia Design Iii
12 Multimedia Design Iii12 Multimedia Design Iii
12 Multimedia Design Iiieretrianews
 
Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010ISSEL
 
Ιωάννη Α. Ζαφειρίου
Ιωάννη Α. ΖαφειρίουΙωάννη Α. Ζαφειρίου
Ιωάννη Α. ΖαφειρίουISSEL
 

Similar to Analysis and profiling of developer profiles using data mining techniques from open source software repositories (20)

Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
 
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...
 
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...
 
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
Βελτίωση Αυτοματοποιημένης Ανάθεσης Εργασιών Λογισμικού με χρήση Commits σε Δ...
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
KanoutasThomasThesis
KanoutasThomasThesisKanoutasThomasThesis
KanoutasThomasThesis
 
Software process improvement
Software process improvementSoftware process improvement
Software process improvement
 
Pantelidou Eirini: Design and development of a system for incremental static ...
Pantelidou Eirini: Design and development of a system for incremental static ...Pantelidou Eirini: Design and development of a system for incremental static ...
Pantelidou Eirini: Design and development of a system for incremental static ...
 
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
Ανάπτυξη εργαλείου αυτοματοποίησης της παραγωγής σεναρίων για τη δημιουργία ψ...
 
SE4
SE4SE4
SE4
 
Thesis.Net Applications
Thesis.Net ApplicationsThesis.Net Applications
Thesis.Net Applications
 
Παρουσίαση προιόντων Τhesis.Net - Πέτρος Νταλιάνης
Παρουσίαση προιόντων Τhesis.Net - Πέτρος ΝταλιάνηςΠαρουσίαση προιόντων Τhesis.Net - Πέτρος Νταλιάνης
Παρουσίαση προιόντων Τhesis.Net - Πέτρος Νταλιάνης
 
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
 
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικούΑνάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
Ανάπτυξη αυτοματοποιημένης διαδικασίας Continuous Integration σε έργα λογισμικού
 
Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419
 
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...
 
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...
 
12 Multimedia Design Iii
12 Multimedia Design Iii12 Multimedia Design Iii
12 Multimedia Design Iii
 
Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010Παρουσίαση θεμάτων διπλωματικών 2010
Παρουσίαση θεμάτων διπλωματικών 2010
 
Ιωάννη Α. Ζαφειρίου
Ιωάννη Α. ΖαφειρίουΙωάννη Α. Ζαφειρίου
Ιωάννη Α. Ζαφειρίου
 

More from 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
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxISSEL
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...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 environmentsISSEL
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...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...
Design and implementation of an automation mechanism to automatically develop...ISSEL
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...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...
Static Analysis of Python code and Identification of Potential Security Vulne...ISSEL
 

More from 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
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
 
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...
Design and implementation of an automation mechanism to automatically develop...
 
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
 
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...
Static Analysis of Python code and Identification of Potential Security Vulne...
 

Analysis and profiling of developer profiles using data mining techniques from open source software repositories

  • 1. Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώσης από αποθετήρια ανοιχτού λογισμικού ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΕΠΕΞΕΡΓΑΣΙΑΣ ΠΛΗΡΟΦΟΡΙΩΝ ΚΑΙ ΥΠΟΛΟΓΙΣΜΩΝ Στέργιος Νάνος ΑΕΜ: 8701 Επιβλέποντες: Ανδρέας Λ. Συμεωνίδης Μιχάλης Παπαμιχαήλ
  • 2. Δυσκολίες Έργων Λογισμικού Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 2 Αλλαγή απαιτήσεων λογισμικού Εκτόξευση κλίμακας και πολυπλοκότητας έργου Μη αποτελεσματική επικοινωνία Υπέρβαση αρχικού οικονομικού προϋπολογισμού 1.Μη ολοκλήρωση
  • 3. Μέθοδοι Παραγωγής Λογισμικού Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 3 WATERFALL ITERATIVE AGILE DEVOPS
  • 4. Ρόλοι-Αρμοδιότητες Προγραμματιστών • Developer • Operator • DevOps • Project Manager / Product Owner • Reviewer • Quality Assurance Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 4
  • 5. GitHub to the Rescue • Πραγματικές τεχνικές δεξιότητες των μηχανικών • Γλώσσες προγραμματισμού • Εργαλεία • Δεξιότητες επικοινωνίας Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 5
  • 6. Σκοπός Διπλωματικής  Αξιοποίηση των συνεισφορών των προγραμματιστών σε αποθετήρια ανοιχτού κώδικα  Δημιουργία συστήματος άντλησης συνεισφορών και παραγωγής μετρικών  Κατασκευή μοντέλου κατηγοριοποίησης προγραμματιστών ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ Ιούλιος 2023 6
  • 7. Γνώσεις που αποκτήθηκαν • Κατασκευή διακομιστή • Γνώσεις προγραμματισμού σε JavaScript/TypeScript • Χρήση web εργαλείων και framework (Node.js, Express) και API (REST, GraphQL) • Χρήση ΣΔΒΔ MongoDB • Αλγόριθμοι και μοντέλα ομαδοποίησης • Τεχνικές προεπεξεργασίας δεδομένων • Γνώσεις προγραμματισμού σε Python ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ Ιούλιος 2023 7
  • 8. Αρχιτεκτονική του Συστήματος ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ Ιούλιος 2023 8
  • 9. Δεδομένα Στατιστικά dataset Μετρική Τιμή Αριθμός Χρηστών 10.213 Αριθμός Αποθετηρίων 147.176 Αριθμός Commit 2.115.880 Αριθμός Issue 113.520 Αριθμός Pull Request 258.517 Αριθμός Pull Request Review 317.449 Αριθμός Σχολίων σε Commit 6.898 Αριθμός Σχολίων σε Issue 1.089.506 Συνολικό Μέγεθος Δεδομένων 5.38GB (1.56GB Συμπιεσμένα) Μετρικές που χρησιμοποιήθηκαν για την εκπαίδευση του μοντέλου Όνομα Περιγραφή Commits.daily_count__sum Συνολικός αριθμός commit Issues.daily_count__sum Συνολικός αριθμός issue PullRequests.daily_count__sum Συνολικός αριθμός pull request PullRequestReviews.daily_count __sum Συνολικός αριθμός pull request review UserIssueComments. PullRequests_daily_count__sum Συνολικός αριθμός σχολίων σε pull request UserIssueComments. Issues_daily_count__sum Συνολικός αριθμός σχολίων σε issue Commits.code_ratio Ποσοστό αρχείων σχετικά με συγγραφή κώδικα Commits.doc_ratio Ποσοστό αρχείων σχετικά με τεκμηρίωση Commits.CICD_ratio Ποσοστό αρχείων σχετικά με εργαλεία CI/CD ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ Ιούλιος 2023 9
  • 10. Προεπεξεργασία Αρχικός αριθμός δεδομένων: 180.028 Τελικός αριθμός δεδομένων: 11.488 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ Ιούλιος 2023 10 Οργάνωση δεδομένων ανά χρήστη και αποθετήριο Αφαίρεση bot λογαριασμών Επιλογή αριθμού ελάχιστων συνεισφορών Αφαίρεση εξωκείμενων τιμών Κανονικοποίηση στο εύρος [0, 1]
  • 11. Μετρικές εσωτερικής αξιολόγησης • Silhouette score, • Davies-Bouldin index, • Calinski-Harabasz index, • DBCV Ομαδοποίηση Αλγόριθμοι • KMeans, • DBSCAN, • Agglomerative Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 11
  • 12. Agglomerative Model Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 12
  • 13. Agglomerative Model ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ Ιούλιος 2023 13
  • 14. Agglomerative Model ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ Ιούλιος 2023 14
  • 15. Ρόλοι Προγραμματιστών Agile Developer •Κύριο μέλημα την συγγραφή κώδικα •Μικρό μέγεθος commit •Αυξημένη χρήση εργαλείων CI/CD Developer (commits) •Κύρια μέριμνα είναι η εγγραφή πηγαίου κώδικα για την ανάπτυξη του προϊόντος •Συμμετοχή σε προσωπικά έργα •Μη-προσωπικά έργα στα οποία είναι συνδημιουργοί Project Management Team •Συνεισφορά κατά κύριο λόγο με σχόλια σε Pull Requests και Issues •Παλαιότερος ρόλος των μελών μπορεί να ήταν η συγγραφή κώδικα •Πλέον έχει μετατοπιστεί σε έναν περισσότερο διοικητικό ρόλο DevOps •Συμμετοχή σε ολόκληρη τη διαδικασία ανάπτυξης του έργου λογισμικού Developer (pull Requests) •Τα μέλη της ομάδας αυτής ενδιαφέρονται κατά κύριο λόγο για την συγγραφή πηγαίου κώδικα •Δεν συμμετέχουν σε άλλες δραστηριότητες, όπως το άνοιγμα issue •Συνεισφορές σε αποθετήρια που δεν είναι δικά τους •Είναι συχνά core members των αποθετηρίων Operations (documentation) •Συνεισφορές σε commit τα οποία είναι σχετικά με την τεκμηρίωση πηγαίου κώδικα ή την τεκμηρίωση του έργου λογισμικού. •Συχνά, τα αποθετήρια που συμμετέχουν είναι εξειδικευμένα για την συγγραφή τεκμηρίωσης Reviewer •Πραγματοποίηση Pull Request Reviews •Αποθετήρια στα οποία, είναι συνιδρυτές, •Αποθετήρια στα οποία κατέχουν εξέχουσα θέση Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 15
  • 16. Μοντέλο στην Παραγωγή • Αδυναμία χρήσης Agglomerative μοντέλου • Εκπαίδευση μοντέλου ταξινόμησης RandomForest • Ακρίβεια (accuracy) 93,8% ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ Ιούλιος 2023 16
  • 17. Ανακεφαλαίωση  Αξιοποίηση συνεισφορών για μοντελοποίηση προφίλ προγραμματιστών  Κατασκευή ενιαίου συστήματος συλλογής δεδομένων και παραγωγής μετρικών  Κατασκευή μοντέλου ομαδοποίησης για την αντιστοίχιση προγραμματιστών με ρόλους  Επιτυχή αντιστοίχιση προγραμματιστών σε ρόλους  Εκπαίδευση μοντέλου ταξινόμησης για χρήση στη παραγωγή Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 17
  • 18. Μελλοντική Εργασία • Δημιουργία γραφικής διεπαφής • Επέκταση Dataset • Χρήση καθημερινών συνεισφορών προγραμματιστών Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 18
  • 19. Ευχαριστίες Ιούλιος 2023 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ 19 Θα ήθελα να ευχαριστήσω τους επιβλέποντες της διπλωματικής μου εργασίας, τον καθηγητή μου κ. Συμεωνίδη Ανδρέα και τον Δρ. Παπαμιχαήλ Μιχάλη για την βοήθεια και καθοδήγηση που μου προσέφεραν.
  • 20. Ερωτήσεις ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΡΟΦΙΛ ΠΡΟΓΡΑΜΜΑΤΙΣΤΩΝ ΜΕΣΩ ΤΕΧΝΙΚΩΝ ΕΞΟΡΥΞΗΣ ΓΝΩΣΗΣ ΑΠΟ ΑΠΟΘΕΤΗΡΙΑ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ Ιούλιος 2023 20

Editor's Notes

  1. Η ανάπτυξη λογισμικού είναι μια πολύπλοκη και χρονοβόρα διαδικασία, με τη βιωσιμότητα των έργων λογισμικού να μην είναι πάντοτε εγγυημένη. Οι απαιτήσεις του λογισμικού μπορεί να αλλάξουν σε οποιοδήποτε σημείο του κύκλου ζωής του, η κλίμακα και η πολυπλοκότητα του έργου μπορεί να ξεπεράσουν τους αρχικούς στόχους του έργου, ενώ η κακή επικοινωνία μεταξύ των μελών της ομάδας ή η παρερμηνεία των απαιτήσεων μπορεί να οδηγήσει σε λανθασμένη υλοποίηση. Τα προβλήματα αυτά μπορεί να οδηγήσουν το έργο να υπερβεί τον αρχικό οικονομικό προϋπολογισμό, ακόμα και στον τερματισμό του και τη μη ολοκλήρωσή του.
  2. Για την αποτροπή των δυσκολιών αυτών οι εταιρίες έχουν εφαρμόσει κατά καιρούς διαφορετικές διαδικασίες και μεθόδους παραγωγής και οργάνωσης. Όπως το Μοντέλο του Καταρράκτη, την Επαναληπτική μέθοδο, διάφορες Ευέλικτες μεθόδους και την DevOps προσέγγιση.
  3. Ως αποτέλεσμα της εφαρμογής των μεθόδων λογισμικού, είναι η εμφάνιση συγκεκριμένων ρόλων και αρμοδιοτήτων των προγραμματιστών. Developer: από τους παλαιότερους ρόλους, Είναι αυτός που θα μελετήσει τις απαιτήσεις και στη συνέχεια θα πρέπει να σχεδιάσει το σύστημα υπεύθυνος υλοποίησης όλων των χαρακτηριστικών και λειτουργιών του λογισμικού μπορεί, επίσης, να επεκτείνεται στην δοκιμή του συστήματος για την εύρεση σφαλμάτων, προτού φτάσει στην παραγωγή Operator υπεύθυνος για την παράδοση του λογισμικού σωστή και αδιάκοπη λειτουργία του στη παραγωγή Σωστή τεκμηρίωση κώδικα και υπηρεσιών Συγγραφή αναφορών σφαλμάτων και προβλήματα που πρέπει να διορθωθούν κλιμάκωση των υπηρεσιών ανάλογα με την κατανάλωση πόρων DevOps συνδυάζει τις αρμοδιότητες των developers και operators υπεύθυνοι για ολόκληρο τον κύκλο ζωής της ανάπτυξης λογισμικού σχεδιασμό και την κωδικοποίηση έως την ανάπτυξη και τη συντήρηση Το λογισμικό κατασκευάζεται και αναπτύσσεται αποτελεσματικά και αποδοτικά έμφαση στην αυτοματοποίηση και τη συνεχή βελτίωση Σημαντική η επικοινωνία μεταξύ των μελών της ομάδας Product Owner/ Project Manager PM προέρχεται από την Waterfall μεθοδολογία υπεύθυνος για την διαχείριση του πρότζεκτ στόχος η παράδοσή του εντός χρόνου Χωρίς να υπερβεί τον προϋπολογισμό διατηρώντας το απαιτούμενο επίπεδο ποιότητας σωστή διαχείριση του ανθρώπινου δυναμικού διαθέτοντας τους πόρους και την υποστήριξη που χρειάζεται για την ολοκλήρωση των καθηκόντων PO η εξέλιξη του Project Manager μέσα στο Agile περιβάλλον υπεύθυνος για την διαχείριση της ομάδας του Μεγιστοποίηση της αξίας του προϊόντος με την υλοποίηση των κατάλληλων λειτουργιών από αυτές που εκκρεμούν PO αναπτύσσει τον δίαυλο επικοινωνίας με τον πελάτη, για τη συνεχή συνεννόηση και ικανοποίηση των αναγκών και προσδοκιών του Reviewer επανεξετάζει τις αλλαγές στον κώδικα για την διασφάλιση ποιότητας και απαιτήσεων Μπορεί να ελέγξει για τρωτά σημεία ασφαλείας κάλυψη του κώδικα από tests δίνει σχόλια για τις θετικές και για τις αρνητικές αλλαγές που πραγματοποιήθηκαν Quality Assurance υπεύθυνοι για την ορθή και αδιάκοπη λειτουργία του λογισμικού δημιουργία των προτύπων ποιότητας και πολιτικών σχεδιάζουν και εφαρμόζουν tests και διερευνητικές δοκιμές, με σκοπό την εύρεση αδυναμιών και σφαλμάτων λογισμικού πριν φτάσουν στην παραγωγή
  4. Παρατηρώντας τις δυσκολίες της διαδικασίας ανάπτυξής λογισμικού και Τις ανάγκες των εταιριών Ανάγκη εταιριών να βρουν τα κατάλληλα άτομα για τις θέσεις που χρειάζονται. Για να μπορούν να ικανοποιούν στους ρόλους των ομάδων λογισμικού Παλαιότερα, οι εταιρίες είχαν ως μόνα τους εργαλεία το βιογραφικό του μηχανικού λογισμικού και την συνέντευξή του για την πραγματοποίηση της αξιολόγησής του. διαδεδομένη χρήση συστημάτων ελέγχου έκδοσης (git) + ανάπτυξη πλατφορμών όπως το GitHub => Προσφέρουν νέες προοτικές άντληση πληροφορίας για τις πραγματικές τεχνικές δεξιότητες των μηχανικών, τις ικανότητές τους και τις γλώσσες προγραμματισμού Καθώς, και τα εργαλεία που χρησιμοποιούν Με τα PR, Issues και τα σχόλια σε αυτά, μπορούν να αξιολογηθούν οι δεξιότητες επικοινωνίας του μηχανικού
  5. Αξιοποίηση των συνεισφορών των προγραμματιστών σε αποθετήρια ανοιχτού κώδικα, Για την παραγωγή έγκυρης αξιολόγηση των τεχνικών και επικοινωνιακών δεξιοτήτων των μηχανικών Για τον σκοπό αυτό δημιουργήθηκε σύστημα άντλησης συνεισφορών και παραγωγής μετρικών μοντέλο μη-εποπτευόμενης μάθησης, το οποίο είναι ικανό να κατηγοριοποιεί τους προγραμματιστές σε ρόλους βάσει των δεξιοτήτων τους
  6. Με/Κατά την εκπόνηση της διπλωματικής
  7. Αποτελείται από τρία διακριτά υποσυστήματα, τον διακομιστή, το σύστημα διαχείρισης βάσης δεδομένων (ΣΔΒΔ) (DataBase Management System, DBMS), και το μοντέλο μηχανικής μάθησης Διακομιστής: Ως απλός web server με χρήση API Ως GitHub App Άντληση πληροφοριών συνεισφορών, επεξεργασία, παραγωγή μετρικών και αποθήκευση Παραγωγή μετρικών DBMS: Αποθήκευση πληροφοριών σε συλλογές ML model: Κατηγοριοποίηση των προγραμματιστών σε ρόλους
  8. Για την εύρεση των ρόλων των προγραμματιστών χρησιμοποιήθηκε η διαδικασία της ομαδοποίησης Αφου δεν ήταν εκ τον προτέρων γνωστοί οι ρόλοι για να μπορέσουν να εφαρμοστούν αλγόριθμοι ταξινόμισης
  9. Καλύτερη ομαδοποίηση για cosine average 6 και Cosine complete(ολικού) 8 Επιλέχτηκε Cosine complete 8 διότι παρήγαγε πιο ισορροπημένες ομάδες
  10. Επιλέχτηκε τελικώς το Agglomerative μοντέλο με metric=‘cosine’, linkage=‘complete’ και 8 ομάδες. Σε σχέση με linkage=‘average’ οι ομάδες ήταν καλύτερα κατανεμημένες Τελικά, βρέθηκαν 7 ρόλοι προγραμματιστών: δυο ομάδες συγχωνευτήκαν σε μία (PM Team) Agile Developer: Κύριο μέλημα την συγγραφή κώδικα Μικρό μέγεθος commit Αυξημένη χρήση εργαλείων CI/CD Developer (commits): Κύρια μέριμνα είναι η εγγραφή πηγαίου κώδικα για την ανάπτυξη του προϊόντος Συμμετοχή σε προσωπικά έργα Μη-προσωπικά έργα στα οποία είναι συνδημιουργοί PM Team: Συνεισφορά κατά κύριο λόγο με σχόλια σε Pull Requests και Issues Παλαιότερος ρόλος των μελών μπορεί να ήταν η συγγραφή κώδικα Πλέον έχει μετατοπιστεί σε έναν περισσότερο διοικητικό ρόλο DevOps: Συμμετοχή σε ολόκληρη τη διαδικασία ανάπτυξης του έργου λογισμικού Developer (pull Requests) Τα μέλη της ομάδας αυτής ενδιαφέρονται κατά κύριο λόγο για την συγγραφή πηγαίου κώδικα Δεν συμμετέχουν σε άλλες δραστηριότητες, όπως το άνοιγμα issue Συνεισφορές σε αποθετήρια που δεν είναι δικά τους, αποθετήρια open source κοινότητας Μεγάλα αποθετήρια με πολλούς χρήστες Είναι συχνά core members των αποθετηρίων Operations (documentation): Συνεισφορές σε commit τα οποία είναι σχετικά με την τεκμηρίωση πηγαίου κώδικα ή την τεκμηρίωση του έργου λογισμικού. Συχνά, τα αποθετήρια που συμμετέχουν είναι εξειδικευμένα για την συγγραφή τεκμηρίωσης Reviewer Πραγματοποίηση Pull Request Reviews Αποθετήρια στα οποία, είναι συνιδρυτές, Αποθετήρια στα οποία κατέχουν εξέχουσα θέση
  11. Εφαρμόζοντας δεκαπλή αντεπικύρωση (stratified 10 fold cross validation) για 5 επαναλήψει δηλώνει ότι το μοντέλο ταξινόμησης Random Forest μπορεί να ταξινομεί με επιτυχία νέους προγραμματιστές.
  12. Δυσκολίες: μικρός αριθμός προγραμματιστών χρησιμοποιεί το GitHub επαγγελματικά ή σε Open-Source Repos => μικρός αριθμός συνεισφορών Sparce Contributions
  13. Γραφική διεπαφή == website, mobile app Επέκταση Dataset, με επιπλέον δεδομένα χρηστών από Open Source Repos ή ιδιωτικά αποθετήρια εταιριών, για την πραγματοποίηση σύγκρισης δεδομένων Χρήση καθημερινών συνεισφορών προγραμματιστών: Dynamic Time Warping για πρόβλεψη παραγωγικότητας