3. Περιγραφή του Προβλήματος
Διαδικασία Ανάπτυξης Λογισμικού
Συστήματα Καταγραφής Εργασιών
Ορισμός σημαντικών χαρακτηριστικών εργασίας
12/4/2021
Εκτίμηση Σημαντικότητας Εργασιών Λογισμικού από Δεδομένα
Διαχείρισης Έργων
3
Σημαντικότητα: Το αντίκυπο μίας εργασίας στην επιτυχή εκτέλεση ενός Έργου Λογισμικού
Πρόβλημα:
Χειροκίνητη ανάθεση τιμής σημαντικότητας χωρίς να υπάρχουν σαφείς οδηγίες
Αποτελέσματα:
Χρονοβόρα διαδικασία για μεγάλα έργα λογισμικού
Πιθανός ορισμός λάθος τιμών σημαντικότητας
4. Σκοπός της Διπλωματικής
12/4/2021
Εκτίμηση Σημαντικότητας Εργασιών Λογισμικού από Δεδομένα
Διαχείρισης Έργων
4
Στόχος:
Αυτοματοποίηση της διαδικασίας καθορισμού της τιμής σημαντικότητας
• Αξιοποίηση πληροφορίας από αποθετήρια κώδικα
• Επιλογή χαρακτηριστικών που περιέχουν πληροφορία για τη σημαντικότητα
• Επιλογή βέλτιστου αλγορίθμου ταξινόμησης
5. To περιβάλλον του Jira
12/4/2021
Εκτίμηση Σημαντικότητας Εργασιών Λογισμικού από Δεδομένα
Διαχείρισης Έργων
5
Jira Σύστημα Παρακολούθησης Εργασιών
Σύνολο Δεδομένων:
>1k έργα (projects)
>700k αναφορές εργασιών (issues)
>100k χρήστες (users)
>2Μ σχόλια (comments)
6. Jira Issue Report & Σημαντικά Πεδία:
12/4/2021
Εκτίμηση Σημαντικότητας Εργασιών Λογισμικού από Δεδομένα
Διαχείρισης Έργων
6
2
Project
Title
Type
Priority
Reporter
1
3
4
6
7
Description
Created
5
9. Στάδια Προεπεξεργασίας
Επί του συνόλου των Δεδομένων
12/4/2021
Εκτίμηση Σημαντικότητας Εργασιών Λογισμικού από Δεδομένα
Διαχείρισης Έργων
9
• Αφαίρεση εγγραφών με κενό
χαρακτηριστικό κλάσης
• Αφαίρεση εγγραφών με Major
σημαντικότητα
• Συνολικά issues στο [2000,7000]
• Διάταξη των εγγραφών με βάση το
χαρακτηριστικό created
• Μετατροπή των τιμών του type σε
αριθμητικές
• Μετατροπή των τιμών της σημαντικότητας
σε αριθμητικές: Trivial 1, Minor 2,
Critical 3, Blocker 4
Επί των Δεδομένων Κειμένου
• Επεξεργασία Κειμένου:
The version of Castor I am using is 0.8.9The
methods to remove all the components of a
vector of objects A are named removeAllA()
while the methods to get all the components
of the same vector are named getA()
the version castor use the method remov
compon vector object name remov all
method get compon vector name get get all
10. Μοντέλα Τίτλου & Περιγραφής
Μετατροπή του κειμένου σε συγκρίσιμη μορφή ⇒ Διανυσματοποίηση – Vector Space Model
Χρήση 2 τεχνικών διανυσματοποίησης:
12/4/2021
Εκτίμηση Σημαντικότητας Εργασιών Λογισμικού από Δεδομένα
Διαχείρισης Έργων
10
TF-IDF Word Embeddings
𝑇𝐹_𝐼𝐷𝐹 𝑤, 𝐷 = 𝑇𝐹 𝑤, 𝐷 × 𝐼𝐷𝐹 𝑤, 𝐷 = 𝑇𝐹 𝑤, 𝐷 × 𝑙𝑜𝑔(
𝐶
𝐷𝐹(𝑤)
)
• TF: Συχνότητα εμφάνισης του όρου στο έγγραφο
• IDF: Λογάριθμος διαφοράς (πλήθος εγγράφων/ πλήθος
εγγράφων που περιέχουν τον όρο
• w: Όρος, D: ‘Εγγραφο, C: Σύνολο Εγγράφων
Χαρτογραφούν τη στατιστική δομή της γλώσσας του
συνόλου των εγγράφων.
Στόχος Τοποθέτηση σημασιολογικά παρόμοιων
λέξεων σε μικρές αποστάσεις σε ένα γεωμετρικό χώρο
Έγγραφο 1:
The
President is
having
dinner
Έγγραφο 2:
The
Prime Minister
eats
lunch
president
Prime Minister
having
eats
dinner
lunch
11. Μοντέλo Αριθμητικών Δεδομένων
Περιλαμβάνει τα χαρακτηριστικά type & reporter_id
Εφαρμογή Sliding Window αλγορίθμου με μέγεθος Window 100 εγγραφών
12/4/2021
Εκτίμηση Σημαντικότητας Εργασιών Λογισμικού από Δεδομένα
Διαχείρισης Έργων
11
Sliding Window Αλγόριθμος
• Window μεγέθους WS
• Σύνολο n εγγραφών
• Χρονική Διάταξη
• Πρόβλεψη τιμής για WS+1, WS+2,…,n
12. Σχέση Τιμών Σημαντικότητας
12/4/2021
Εκτίμηση Σημαντικότητας Εργασιών Λογισμικού από Δεδομένα
Διαχείρισης Έργων
12
Έχουν σειρά διάταξης : Trivial < Minor < Critical < Blocker
⇒ Ordinal Classification: Όταν υπάρχει δυνατότητα διάταξης του χαρακτηριστικού κλάσης
Classification VS Regression
Classification: Αντιστοίχιση των τιμών εισόδου σε διακριτές τιμές εξόδου
Δε λαμβάνει υπόψιν τη σχέση των τιμών του χαρακτηριστικού κλάσης
Regression: Αντιστοίχιση των τιμών εισόδου σε συνεχείς τιμές εξόδου
Μετατροπή των συνεχών τιμών σε πιθανότητες κάθε κλάσης με βάση την απόσταση
⇒ Αξιοποίηση Διαδοχικότητας (πχ. ¨1.8¨)
13. Ταξινομητές (1/4): KNN
12/4/2021
Εκτίμηση Σημαντικότητας Εργασιών Λογισμικού από Δεδομένα
Διαχείρισης Έργων
13
Εφαρμογή του αλγορίθμου για τους 3 κοντινότερους γείτονες
Επιστροφή πιθανοτήτων για κάθε κλάση
Εφαρμογή του στα 3 μοντέλα (τίτλου (α) , περιγραφής (β), αριθμητικών δεδομένων (γ))
Μέσος όρος των αποτελεσμάτων στο τελικό μοντέλο (δ) και επιστροφή επικρατούσας κλάσης
Trivial Minor Critical Blocker
0 0.33333 0.33333 0.33333
Trivial Minor Critical Blocker
0 1 0 0
Trivial Minor Critical Blocker
0 0.33333 0.66667 0
Trivial Minor Critical Blocker
0 0. 55555 0.33333 0.11111
(α)
(β)
(γ)
(δ)
14. Ταξινομητές (2/4): SVR
12/4/2021
Εκτίμηση Σημαντικότητας Εργασιών Λογισμικού από Δεδομένα
Διαχείρισης Έργων
14
Υλοποίηση για RBF πυρήνα
Επιστροφή πιθανοτήτων για κάθε κλάση με βάση των τύπο για την πιθανότητα της κλάσης i:
Άθροιση των πιθανοτήτων στο τελικό μοντέλο αντιστοίχως του KNN
y_𝑝𝑟𝑒𝑑_𝑝𝑟𝑜𝑏 𝑖 =
1
|𝑖−𝑦𝑝𝑟𝑒𝑑|
1
|1−𝑦𝑝𝑟𝑒𝑑|
+
1
|2−𝑦𝑝𝑟𝑒𝑑|
+
1
|3−𝑦𝑝𝑟𝑒𝑑|
+
1
|4−𝑦𝑝𝑟𝑒𝑑|
Trivial Minor Critical Blocker
0.1658 0.6633 01105 0.0603
Παράδειγμα για ¨1.8¨
15. Ταξινομητές (3/4): Non-Ordinal Νευρωνικό Δίκτυο
12/4/2021
Εκτίμηση Σημαντικότητας Εργασιών Λογισμικού από Δεδομένα
Διαχείρισης Έργων
15
Είσοδος για μοντέλο αριθμητικών δεδομένων:
Το σύνολο των δεδομένων ως έξοδος του
Sliding Window
Είσοδος για μοντέλα τίτλου & περιγραφής:
Ειδικό στρώμα που υλοποιεί την Word
Embeddings μέθοδο
1 κρυφό στρώμα 20 νευρώνων και στις 3
περιπτώσεις μοντέλων
Έξοδος: Στρώμα 4 νευρώνων με πιθανές τιμές
0 & 1, όπου:
Συναρτήσεις Νευρωνικού
Κόστους categorical_crossentropy
Βελτιστοποίησης adam
Ενεργοπόιησης
Στρώματος Εισόδου
relu
Ενεργοπόιησης
Κρυφού Στρώματος
softmax
Άθροιση των πιθανοτήτων στο τελικό μοντέλο
αντιστοίχως του KNN
17. Ταξινομητές (4/4): Ordinal Νευρωνικό Δίκτυο
12/4/2021
Εκτίμηση Σημαντικότητας Εργασιών Λογισμικού από Δεδομένα
Διαχείρισης Έργων
17
Σύνθεση Τελικού Μοντέλου
• 𝒂𝒊 : Βεβαιότητα μοντέλου τίτλου για την κλάση i
• 𝒂𝒋 : Βεβαιότητα μοντέλου περιγραφής για την κλάση j
• 𝒂𝒌 : Βεβαιότητα μοντέλου αριθμητικών δεδομένων για την κλάση k
Περιπτώσεις: i = j = k ⇒ Επιστρέφεται η κοινή κλάση
i ≠ j ≠ k ⇒ Επιστρέφεται η κλάση με την μεγαλύτερη βεβαιότητα 𝒂𝒊 , 𝒂𝒋, 𝒂𝒌
i = j ≠ k ⇒ Επιστρέφεται η κλάση i = j αν 𝒂𝒊 + 𝒂𝒋 > 2 × 𝒂𝒌 – 0.5
Τίτλος Περιγραφή Αριθμητικά Δεδομένα Τελικό Μοντέλο
Trivial -> 0.4 Trivial -> 0.4 Minor -> 0.9 Minor
Trivial -> 0.8 Trivial -> 0.8 Minor -> 0.9 Trivial
23. Συμπεράσματα
12/4/2021
Εκτίμηση Σημαντικότητας Εργασιών Λογισμικού από Δεδομένα
Διαχείρισης Έργων
23
Το χαρακτηριστικό διάταξης των τιμών σημαντικότητας βελτιώνει την απόδοση του
μοντέλου
Καλύτερh απόδοση προκύπτει για τον SVR ταξινομητή
Τα πειράματα δείχνουν ότι τα 4 σύστημα ανταποκρίνονται ικανοποιητικά σε ένα
μεγάλο εύρος αποθετηρίων
Το βέλτιστο σύστημα μπορεί να αποτελέσει χρήσιμο εργαλείο στη διαδικασία
ανάπτυξης έργων λογισμικού
25. Μελλοντική Εργασία
12/4/2021
Εκτίμηση Σημαντικότητας Εργασιών Λογισμικού από Δεδομένα
Διαχείρισης Έργων
26
Αντιμετώπιση της ανομοιόμορφης κατανομής του χαρακτηριστικού κλάσης
Βελτίωση της τεχνικής εξαγωγής χαρακτηριστικών κειμένου
Βελτίωση των ρυθμίσεων των παραμέτρων των νευρωνικών
Επέκταση με User Interface και ανάθεση τιμών σε πραγματικό χρόνο
26. Ευχαριστίες
12/4/2021
Εκτίμηση Σημαντικότητας Εργασιών Λογισμικού από Δεδομένα
Διαχείρισης Έργων
27
Θα ήθελα να ευχαριστήσω θερμά:
• Τον κ. Συμεωνίδη Ανδρέα
• Τον Διαμαντόπουλο Θέμη
• Όλους εσάς που παρακολουθήσατε την παρουσίαση!
27. Ευχαριστώ πολύ για την προσοχή σας!
Ερωτήσεις;
12/4/2021
Εκτίμηση Σημαντικότητας Εργασιών Λογισμικού από Δεδομένα
Διαχείρισης Έργων
28