2. Δομή Παρουσίασης
Ορισμός του Προβλήματος
Σκοπός της Διπλωματικής
Βασικές Έννοιες
Πειραματικό Μέρος
Μέτρα Αποδοτικότητας των μοντέλων πρόβλεψης
Αποτελέσματα – Συμπεράσματα
Μελλοντική Εργασία
18/3/2014 2/33Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
3. Ορισμός του Προβλήματος
Η εξαγωγή μετρικών (change metrics) που εκφράζουν αυτές τις συνεχόμενες αλλαγές (change bursts) θα
μπορούσε να είναι δείκτες διαφόρων προβλημάτων – εμφάνιση σφαλμάτων σε συγκεκριμένα τμήματα του
κώδικα.
Η διασφάλιση της ποιότητας γίνεται αποτελεσματική όταν οι προσπάθειες κατευθύνονται σε αυτά τα
τμήματα του κώδικα που είναι πιο πιθανό να περιέχουν σφάλματα.
Όλες αυτές οι δραστηριότητες – αλλαγές διεξάγονται από ανθρώπους, οπότε είναι αναπόφευκτο το
γεγονός πως ορισμένες από τις αλλαγές θα προκαλέσουν σφάλματα.
H ανάπτυξη λογισμικού μπορεί να θεωρηθεί ως μια ακολουθία αλλαγών. Ως αλλαγή μπορεί να θεωρηθεί
οποιαδήποτε:
18/3/2014 3/33
προσπάθεια μορφοποίησης του κώδικα
προσπάθεια διόρθωσης ήδη
υπάρχοντος σφάλματος
αλλαγή για να επιτύχουμε την
προσέγγιση των απαιτήσεων του χρήστη
Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
4. Δομή Παρουσίασης
Ορισμός του Προβλήματος
Στόχος της Διπλωματικής
Βασικές Έννοιες
Πειραματικό Μέρος
Μέτρα Αποδοτικότητας των μοντέλων πρόβλεψης
Αποτελέσματα – Συμπεράσματα
Μελλοντική Εργασία
18/3/2014 4/33Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
5. Στόχος της διπλωματικής είναι:
η αξιολόγηση της προβλεπτικής ισχύος των μετρικών
μεταβολής (change metrics)
η εξαγωγή συμπερασμάτων για το πώς η επιλογή ενός
μοντέλου επηρεάζει την αποδοτικότητα της πρόβλεψης
18/3/2014 5/33Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
6. Δομή Παρουσίασης
Ορισμός του Προβλήματος
Στόχος της Διπλωματικής
Βασικές Έννοιες
Πειραματικό Μέρος
Μέτρα Αποδοτικότητας των μοντέλων πρόβλεψης
Αποτελέσματα – Συμπεράσματα
Μελλοντική Εργασία
18/3/2014 6/33Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
7. Ποιότητα του Λογισμικού
Ως μετρική ορίζεται μία εμπειρική αντικειμενική
αντιστοίχιση ενός αριθμού ή συμβόλου σε μία οντότητα, με
στόχο να χαρακτηρίσει ένα συγκεκριμένο χαρακτηριστικό
της οντότητας αυτής.
Ο βασικός λόγος χρήσης μέτρων και μετρικών είναι η επίλυση
του προβλήματος λογισμικού, που σχετίζεται με την αδυναμία
καθορισμού μετρήσιμων ποσοτήτων κατά τη σχεδίαση και
ανάπτυξη ενός έργου
Βασικός στόχος των μετρικών είναι να συντελέσουν στην
πρόβλεψη σφαλμάτων για τη διασφάλιση της ποιότητας.
18/3/2014 7/33Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
8. Βασικές Προσεγγίσεις Πρόβλεψης
Ατελειών
Change Log Approaches
Χρησιμοποιούν πληροφορίες που προέρχονται από το ιστορικό
εκδόσεων του συστήματος, θεωρώντας ότι τα πιο πρόσφατα ή τα
πιο συχνά μεταβαλλόμενα αρχεία, είναι η πιο πιθανή πηγή
μελλοντικών σφαλμάτων.
Single-Version Approaches
Tόσο η συμπεριφορά του προγράμματος όσο και ο τρέχων
σχεδιασμός του μπορούν να αποτελέσουν σημαντικούς
παράγοντες που θα επηρεάζουν την παρουσία ή απουσία
μελλοντικών ελαττωμάτων στο πρόγραμμα.
18/3/2014 8/33Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
9. Δομή Παρουσίασης
Ορισμός του Προβλήματος
Σκοπός της Διπλωματικής
Βασικές Έννοιες
Πειραματικό Μέρος
Μέτρα Αποδοτικότητας των μοντέλων πρόβλεψης
Αποτελέσματα - Συμπεράσματα
Μελλοντική Εργασία
18/3/2014 9/33Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
10. Ταξινόμηση (1)
Επιβλεπόμενη μάθηση (supervised learning).
Στόχος της είναι να “μάθει” επαγωγικά μέσω ενός συνόλου
δεδομένων μια συνάρτηση , η οποία αποτελεί την περιγραφή ενός
μοντέλου. Βασίζεται σε ένα ταξινομημένο σύνολο δεδομένων
εκπαίδευσης.
Η ταξινόμηση είναι μια τεχνική μηχανικής μάθησης που ανήκει
στην κατηγορία της επιβλεπόμενης μάθησης.
Για τον ορισμό του προβλήματος της ταξινόμησης υποθέτουμε πως έχουμε:
Ένα αντικείμενο περιγράφεται με διάφορα χαρακτηριστικά
(attributes), τα οποία θα αποτελέσουν τις μεταβλητές πρόβλεψης.
Κάθε τέτοιο αντικείμενο μπορεί να ανατεθεί σε μια ακριβώς κατηγορία
(κλάση) από ένα πεπερασμένο σύνολο πιθανών κατηγοριών.
18/3/2014 10/33Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
11. Ταξινόμηση (2)
1ο
• Κατασκευάζεται το ταξινομημένο σύνολο εκπαίδευσης (training dataset),
στο οποίο συμπεριλαμβάνονται μαζί με όλα τα υπόλοιπα χαρακτηριστικά
(ανεξάρτητες μεταβλητές) κάθε εγγραφής και η κλάση στην οποία αυτό ανήκει.
2ο
• Επιλέγεται το μοντέλο ταξινόμησης που θα εφαρμοστεί στο σύνολο εκπαίδευσης
ώστε να παραχθεί μια συνάρτηση που θα το περιγράφει.
3ο
• Η συνάρτηση αυτή θα χρησιμοποιηθεί έπειτα για τη χαρτογράφηση (επιλογή της
κλάσης στην οποία ανήκει) νέων εγγραφών (εφαρμογή του μοντέλου στο
ταξινομημένο σύνολο δεδομένων ελέγχου – testing dataset)
4ο
• Τέλος, συγκρίνονται τα αποτελέσματα του μοντέλου της πρόβλεψης με το ήδη
ταξινομημένο σύνολο δεδομένων ελέγχου.
18/3/2014 11/33Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
12. Όπου,
18/3/2014 12/33
Κατασκευή του μοντέλου Προσδιορισμός συντελεστών b
με τη μέθοδο της μέγιστης
πιθανοφάνειας επιλογή
αυτών των τιμών που να κάνουν
πιο πιθανή την τιμή της
εξαρτημένης μεταβλητής
Λογιστική Παλινδρόμηση
Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
13. Ταξινομητής Naïve Bayes
Δεδομένου μιας βάσης δεδομένων προς ταξινόμηση S που περιγράφεται από
τα χαρακτηριστικά και ότι είναι οι αντίστοιχες
κλάσεις. Αν είναι ένα αντικείμενο της βάσης S, ο
ταξινομητής θα αναθέσει το αντικείμενο σε εκείνη την κλάση με τη
μεγαλύτερη εκ των υστέρων πιθανότητα :
όπου
Στην περίπτωση που μια μετρική παίρνει συνεχείς τιμές με μέση τιμή μ και
διακύμανση υποθέτουμε πως οι τιμές της ακολουθούν κανονική κατανομή και η
πιθανότητα υπολογίζεται από τον τύπο:
18/3/2014 13/33Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
14. Κάθε κόμβος Κ αναπαριστά μια
μεταβλητή πρόβλεψης.
Κάθε κλαδί αντιστοιχεί σε μια από
τις πιθανές τιμές (α1, β1, γ1) που
μπορεί να λάβει η μεταβλητή.
Κάθε φύλλο αντιστοιχεί σε μια από
τις προκαθορισμένες κλάσεις.
Δέντρα Απόφασης
Αλγόριθμος C4.5
Το Δέντρο Απόφασης κατασκευάζεται χρησιμοποιώντας την εντροπία πληροφορίας.
Κριτήριο διαχωρισμού σε κάθε κόμβο είναι το κέρδος πληροφορίας (Information Gain).
με την εντροπία:
18/3/2014 14/33Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
15. Ταξινομητής AdaBoost
18/3/2014 15/33
Βασίζεται στη μέθοδο του boosting.
Συνδυάζει πολλούς “αδύναμους” ταξινομητές
με σκοπό να δημιουργήσει ένα “ισχυρό”
ταξινομητή.
Χρησιμοποίει ένα αλγόριθμο ως βάση και
δέχεται ως είσοδο το πλήθος των μοντέλων
βάσης που πρόκειται να συνδυαστούν.
Σε κάθε επανάληψη αναπροσαρμόζεται η
κατανομή των βαρών αυξάνοντας κατά μια
ποσότητα μόνο τα βάρη των εγγραφών που
ταξινομήθηκαν εσφαλμένα.
Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
16. Σύνολο Δεδομένων
G=3
B = {1, …, 10}
18/3/2014 16/33
Το σύνολο δεδομένων αποτελείται από ένα σύνολο από change
metrics, μετρικές που εκφράζουν τις συνεχόμενες αλλαγές στο
project του Eclipse για τις εκδόσεις 2.0, 2.1, 3.0.
Συνεχόμενες αλλαγές (change bursts) προσδιορίζονται από:
• Gap Size (G)
Μέγιστη απόσταση ανάμεσα σε δύο αλλαγές ώστε να βρίσκονται στο
ίδιο burst
• Burst Size (B)
Ελάχιστος αριθμός αλλαγών σε ένα burst
Το σύνολο δεδομένων είναι χωρισμένο
σε csv αρχεία όπου υπολογίζονται όλες
οι μέτρικές για κάθε πιθανό συνδυασμό
Gap και Burst Size (με G = {1, …, 10} και
B = {1, …, 10})
Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
17. Σύνολο Δεδομένων
Τα μοντέλα πρόβλεψης εφαρμόστηκαν σε 10 csv αρχεία,
ένα για κάθε burst size, τα οποία αποτελούνται:
Από 24 change metrics καθώς και την εξαρτημένη
μεταβλητή, οι οποίες αποτελούν και τις στήλες του
συνόλου δεδομένων.
Από 6728 εγγραφές που αντιστοιχούν στις οντότητες του
λογισμικού (java files) και αποτελούν τις γραμμές του
συνόλου δεδομένων.
18/3/2014 17/33Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
18. Δομή Παρουσίασης
Ορισμός του Προβλήματος
Σκοπός της Διπλωματικής
Βασικές Έννοιες
Πειραματικό Μέρος
Μέτρα Αποδοτικότητας των μοντέλων πρόβλεψης
Αποτελέσματα - Συμπεράσματα
Μελλοντική Εργασία
18/3/2014 18/33Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
20. Receiver
Operating
Characteristic
(ROC) Curve
FPR – TPR (recall)
ή
(1 - specificity) – sensitivity
Η ακρίβεια του μοντέλου
μετράται από την περιοχή
κάτω από τη ROC καμπύλη
(Area Under Curve (AUC))
18/3/2014 20/33
Better
Worst
Perfect
Classification
Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
Μετρικές Αποδοτικότητας
μοντέλων πρόβλεψης (2)
21. Δομή Παρουσίασης
Ορισμός του Προβλήματος
Σκοπός της Διπλωματικής
Βασικές Έννοιες
Πειραματικό Μέρος
Μέτρα Αποδοτικότητας των μοντέλων πρόβλεψης
Αποτελέσματα - Συμπεράσματα
Μελλοντική Εργασία
18/3/2014 21/33Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
26. Συγκεντρωτικά Διαγράμματα (1)
18/3/2014 26/33Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
ROC καμπύλες όλων των ταξινομητών για κάθε burst ξεχωριστά
27. 27/33
ROC καμπύλες
για burst size = 1
ROC καμπύλες
για burst size = 10
18/3/2014 Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
28. Συγκεντρωτικά Διαγράμματα (2)
18/3/2014 28/33
Αποδοτικότητα μοντέλων πρόβλεψης ομαδοποιημένη ανά burst
Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
29. Συγκεντρωτικά Διαγράμματα (3)
18/3/2014 29/33
Αποδοτικότητα του κάθε μοντέλου σε σχέση με το burst size
Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
30. Συμπεράσματα
Ικανοποιητική προβλεπτική ισχύς των change metrics.
Εφαρμογή μοντέλων πρόβλεψης που πετυχαίνουν
καλά ποσοστά πρόβλεψης σφαλμάτων .
Βελτίωση των αποτελεσμάτων με τη εφαρμογή του
αλγορίθμου AdaBoost ενισχύοντας την αποδοτικότητα
πρόβλεψης.
18/3/2014 30/33Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
31. Δομή Παρουσίασης
Ορισμός του Προβλήματος
Στόχος της Διπλωματικής
Βασικές Έννοιες
Πειραματικό Μέρος
Μέτρα Αποδοτικότητας των μοντέλων πρόβλεψης
Αποτελέσματα – Συμπεράσματα
Μελλοντική Εργασία
18/3/2014 31/33Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
32. Μελλοντική Εργασία
Αναζήτηση αιτιών της προβλεπτικής ισχύος των change
metrics και βαθύτερη κατανόηση και μελέτη της
λειτουργίας των change bursts
Εφαρμογή των μοντέλων πρόβλεψης σε όλο το διαθέσιμο
σύνολο δεδομένων του Eclipse
Εφαρμογή των μοντέλων και σε άλλα λογισμικά ώστε να
είναι πιο τεκμηριωμένη η προβλεπτική ισχύς των change
metrics
Επέκταση των μετρικών με ένα σύνολο πρόσθετων μετρικών
που να αποτυπώνουν τις λιγότερο οργανωμένες συνθήκες
υποβολής αλλαγών στον κώδικα
18/3/2014 32/33Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα
33. Ευχαριστώ πολύ για την προσοχή σας!
18/3/2014 33/33
Ερωτήσεις?
Πρόβλεψη Σφαλμάτων με Μετρικές Μεταβολής και Στατικών Στοιχείων Κώδικα