SlideShare a Scribd company logo
1 of 30
1
Θεσσαλονίκη 2014
2
Ορισμός του Προβλήματος
Στόχος Διπλωματικής
Αλγόριθμοι Πρόβλεψης
Μετρικές Πρόβλεψης
Πειραματικά Αποτελέσματα
Συμπεράσματα
Μελλοντικές Επεκτάσεις
3
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
4
Μοντέλο ανάπτυξης λογισμικού ανοιχτού κώδικα
volunteer
volunteer
volunteer
volunteer
Project lead
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
5
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
6
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
Πρόβλεψη σφαλμάτων σε επίπεδο
κλάσεων
1. Number Of Bugs
2. Number Of Major
Bugs
3. Number Of Critical
Bugs
4. Number Of High
Priority Bugs
7
Η σύγκριση διαφορετικών
, προκειμένου να διαπιστωθεί ποια από
αυτές είναι πιο αποδοτική στην πρόβλεψη
σφαλμάτων.
Η σύγκριση διαφορετικών
, προκειμένου να διαπιστωθεί ποιος
από αυτούς είναι περισσότερο αποδοτικός όταν
εφαρμόζεται πάνω στις υπό εξέταση
αντικειμενοστρεφείς μετρικές.
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
8
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
9
Μοντελοποιεί τη σχέση ανάμεσα σε μία ανεξάρτητη μεταβλητή (μεταβλητή
πρόβλεψης) X και μία εξαρτημένη μεταβλητή (μεταβλητή στόχο) Y,
χρησιμοποιώντας μία σχέση που εκφράζει την Y ως γραμμική συνάρτηση της X.
Γραμμική Παλινδρόμηση
Απλή Γραμμική
Παλινδρόμηση
Πολλαπλή
Γραμμική
Παλινδρόμηση
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
10
Πολλαπλή
γραμμική
παλινδρόμηση
Υi= (βο+β1Χi + β2Χ2 + …+ βnΧn ) + εi
β1, β2, βn = συντελεστής παλινδρόμησης των μεταβλητών πρόβλεψης
β0= ο σταθερός όρος (δηλ. η τιμή του Υ όταν το Χ=0).
εi= το σφάλμα που αντιστοιχεί στη διαφορά ανάμεσα στην τιμή που προβλέπει η
ευθεία γραμμή για το στιγμιότυπο i και την πραγματική τιμή που έχει το
συγκεκριμένο στιγμιότυπο.
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
11
Προβλέπει την πιθανότητα εμφάνισης ενός γεγονότος με την τοποθέτηση των
δεδομένων σε μια συνάρτηση logit (λογιστική λειτουργία). Πρόκειται για μία
δημοφιλή μέθοδο ταξινόμησης, της οποίας η συνάρτηση πρόβλεψης αποτελείται
από ένα μετασχηματισμένο γραμμικό συνδυασμό μεταβλητών.
Λογιστική Παλινδρόμηση
)110(
1
1
)( iXbb
e
YP 


)...22110(
1
1
)( inXnbXbXbb
e
YP 


Είναι της μορφής , γνωστή ως
σιγμοειδή συνάρτηση. Απώτερος σκοπός είναι
να χαρτογραφηθεί κάθε πραγματικός αριθμός
που χρησιμοποιείται ως είσοδος στην
πρόβλεψη μας, η οποία θα κυμαίνεται από 0
έως 1.
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
12
Η πιο διαδεδομένη βιβλιογραφικά έκφραση της λογιστικής παλινδρόμησης είναι
ln(odds) = a+ b1x1 + b2 x2 +………+ bk xk
Οι συντελεστές των ανεξάρτητων μεταβλητών στην εξίσωση παλινδρόμησης
εκτιμώνται με βάση τη . Στην ουσία
προσδιορίζεται η επίδραση της εκάστοτε ανεξάρτητης μεταβλητής στη
διαμόρφωση των τιμών της εξαρτημένης μεταβλητής.
Το δεξί μέρος της εξίσωσης
δημιουργείται από ένα γραμμικό
συνδυασμό των ανεξάρτητων
μεταβλητών που συμμετέχουν στο
μοντέλο παλινδρόμησης.
Το αριστερό μέρος περιέχει τις τιμές της
εξαρτημένης μεταβλητής, με τη μορφή του
λογαρίθμου των odds, δηλαδή του λογαρίθμου
της σχέσης odds = Prob/(1-Prob). To odds
εναλλακτικά ονομάζεται logit και ο όρος Prob
εκφράζει την πιθανότητα του συμβάντος του
γεγονότος.
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
13
 Αναπαριστούν μια
 Κάθε πιθανό “σημείο απόφασης”
ή κατάσταση
 Κάθε πιθανή επιλογή που μπορεί να γίνει σε ένα σημείο
απόφασης
 Θεωρούνται , το οποίο
χρησιμοποιείται για να ταξινομήσει κλάσεις (classes) με
την που
προκύπτουν από τα χαρακτηριστικά (attributes) της
τάξης.
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
14
Εκμεταλλεύεται την που παρουσιάζουν
διάφοροι αλγόριθμοι μάθησης.
Βασίζεται στη
από έναν αλγόριθμο μάθησης. Με τον
τρόπο αυτό ο ν-οστός ταξινομητής λαμβάνει υπόψη
την επίδοση των προηγούμενων ν-1 ταξινομητών για
καθένα στιγμιότυπο, επικεντρώνοντας έτσι την
προσπάθειά του στη σωστή πρόβλεψη των δειγμάτων
για τα οποία οι προηγούμενοι απέτυχαν περισσότερο.
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
15
Data set 1 Data set 2 Data set T
Learner1 Learner2 LearnerT
… ...
… ...
… ...
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
16
Τα σφάλματα προκαλούνται από
αλλαγές.
Πολύπλοκα κομμάτια κώδικα είναι
πιο δύσκολο να τροποποιηθούν, ως
εκ τούτου είναι περισσότερο
επιρρεπή σε λάθη.
Προηγούμενες ατέλειες του κώδικα
μπορούν να προβλέψουν
μελλοντικές ατέλειες.
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
Μετρική Επεξήγηση
NR Αριθμός αναθεωρήσεων.
NREF Δείχνει πόσες φορές έχει αλλάξει
ένα αρχείο, με σκοπό τη βελτίωση
της εσωτερικής δομής του, χωρίς να
αλλάξει η εξωτερική συμπεριφορά
του.
NFIX Δείχνει πόσες φορές ένα αρχείο
συμπεριλήφθηκε σε κάποια
επιδιόρθωση σφάλματος.
NAUTH Αριθμός συγγραφέων που έλεγξαν
το αρχείο.
LINES Γραμμές που προστέθηκαν και
διεγράφησαν (άθροισμα, μέγιστο,
μέσος όρος).
CHURN Codechurn (άθροισμα, μέγιστο και
μέσος όρος).
CHGSET Αλλαγή μεγέθους συνόλου (μέγιστο
και μέσος όρος).
AGE Ηλικία και σταθμισμένη ηλικία.
Τύπος μετρικών Μετρική Επεξήγηση
CK WMC Σταθμισμένη μέθοδος
μέτρησης.
CK DIT Βάθος δένδρου
κληρονομικότητας.
CK RFC Απόκριση για κλάση.
CK NOC Αριθμός παιδιών.
CK CBO Σύζευξη μεταξύ αντικειμένων.
CK LCOM Έλλειψη συνοχής στις
μεθόδους.
Τύπος μετρικών Μετρική Επεξήγηση
OO FanIn Αριθμός κλάσεων, που κάνουν
αναφορά στην κλάση.
OO FanOut Αριθμός κλάσεων στις οποίες
αναφέρεται η κλάση.
OO NOA Αριθμός γνωρισμάτων.
OO NOPA Αριθμός δημόσιων
γνωρισμάτων.
OO NOPRA Αριθμός ιδιωτικών
γνωρισμάτων.
OO NOAI Αριθμός γνωρισμάτων που
κληρονομούνται.
OO LOC Αριθμός γραμμών κώδικα.
OO NOM Αριθμός μεθόδων.
OO NOPM Αριθμός δημόσιων μεθόδων.
OO NOPRM Αριθμός ιδιωτικών μεθόδων.
OO NOMI Αριθμός μεθόδων που
κληρονομούνται.
Μετρική Επεξήγηση
Number Of Bugs Συνολικός αριθμός σφαλμάτων.
Number Of Non Trivial Bugs: Σφάλματα τα οποία επηρεάζουν τη
λειτουργικότητα του συστήματος.
Number Of Major Bugs: Σφάλματα τα οποία οδηγούν σε κατάρρευση
του συστήματος.
Number Of Critical Bugs : Σφάλματα τα οποία οδηγούν σε αποτυχία του
συστήματος.
Number Of High Priority Bugs: Σφάλματα τα οποία έχουν κριθεί υψηλής
προτεραιότητας.
17
Πολύπλοκες αλλαγές είναι πολύ πιο
πιθανόν να εισάγουν λάθη σε σχέση
με τις πιο απλές. Όσο πιο διάσπαρτες
είναι οι αλλαγές, τόσο μεγαλύτερη
είναι η τιμή που λαμβάνει η
πολυπλοκότητα.
Η χρήση μετρικών source code (σε
αντιπαράθεση με τις κλασικές CK
τεχνικές) δίνει μια καλύτερη
προσέγγιση του entropy of changes
από ότι η απλή τεχνική entropy of
changes.
Η χρήση μετρικών source code (σε
αντιπαράθεση με τις κλασικές CK
τεχνικές) δίνει μια καλύτερη
προσέγγιση του code churn από ότι η
απλή τεχνική code churn.
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
Μετρική Επεξήγηση
CvsEntropy Εντροπία συστήματος
CvsWEntropy Σταθμισμένη εκδοχή εντροπίας
CvsLinEntropy Γραμμική εκδοχή εντροπίας
CvsLogEntropy Λογαριθμική εκδοχή εντροπίας
CvsExpEntropy Εκθετική εκδοχή εντροπίας
18
Προ-επεξεργασία
 Επιλογή συνόλου δεδομένων
 Λάβαμε υπόψη προς εξέταση.
 Για κάθε κλάση υπολογίστηκαν οι προαναφερθέντες μετρικές :
 Change metrics: 15
 Previous defects: 5
 Source code metrics: 17
 Entropy of changes: 5
 Churn of source code metrics: 17
 Entropy of source code metrics: 17
Χρήση βιβλιοθήκης
Χωρισμός συνόλου δεδομένων σε .
 Εφαρμογή μεθόδου στο σύνολο
δεδομένων.
Χωρισμός κλάσεων πηγαίου κώδικα σε δύο ομάδες:
 Η ομάδα περιέχει κλάσεις με .
 Η ομάδα περιέχει κλάσεις που .
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
19
Μετρικές ποιότητας
Από το συνολικό αριθμό των κλάσεων που
δεν περιέχουν σφάλματα, δίνει το ποσοστό
αυτών που έχουν ταξινομηθεί σωστά ως
defect free.
Από το συνολικό αριθμό των κλάσεων που
περιέχουν σφάλματα, δίνει το ποσοστό
αυτών και έχουν ταξινομηθεί σωστά ως
defect prone.
Από το συνολικό αριθμό των κλάσεων που
προβλέφθηκαν ως defect prone, δίνει το
ποσοστό αυτών που πράγματι περιείχαν
σφάλματα.
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
20
Μετρικές ποιότητας
Δίνει το ποσοστό των ορθά ταξινομημένων
κλάσεων (true positives, true negatives).
Συνεχές γράφημα που ορίζουν τα σημεία (FP,
TP) Όσο μεγαλύτερη κυρτότητα εμφανίζει η
Roc καμπύλη προς την άνω αριστερή γωνία
(οπτική εκτίμηση), και επομένως όσο
μεγαλύτερο είναι το εμβαδόν που ορίζεται
κάτω από αυτή (ποσοτική εκτίμηση), τόσο
μεγαλύτερη θα είναι και η διακριτική
ικανότητα που θα παρουσιάζει.
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
21
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
22
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
23
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
24
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
25
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
26
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
27
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
28
Εισάγαμε ένα σημείο αναφοράς, το οποίο μας
επέτρεψε την επίτευξη κοινής σύγκρισης
μετρικών και αλγορίθμων πρόβλεψης. Τα
αποτελέσματα που προέκυψαν έδωσαν ποσοστά
επιτυχούς πρόβλεψης πάνω από 80%.
Entropy of Source Code Metrics και Lin-
Churn Metrics: 81%-83%
Log-Entropy Metrics και Weighted-Churn
Metrics : 81%-84%.
H απόδοση του αλγορίθμου Ενίσχυσης
υπερτερεί έναντι των υπόλοιπων υπό
εξέταση αλγορίθμων.
Log-Churn Metrics: 78% - 79%  84%.
Source Code Metrics: 78%  83%.
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
29
, πάνω στα οποία θα εφαρμοστούν οι
προσεγγίσεις που έχουν προταθεί στην παρούσα
διπλωματική εργασία, για την πρόβλεψη μελλοντικών
σφαλμάτων.
σε συστήματα
λογισμικού, οι οποίες θα διαμορφωθούν με βάση τις
πηγές δεδομένων που αυτές χρησιμοποιούν και τα
συστήματα στα οποία αυτές επικυρώνονται.
, οι οποίοι
θα ανταποκρίνονται στα ιδιαίτερα χαρακτηριστικά των
υπό μελέτη δεδομένων.
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
30
Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα

More Related Content

Viewers also liked (8)

reprodutor fem cont
 reprodutor fem cont reprodutor fem cont
reprodutor fem cont
 
Business Base-2011-presentation
Business Base-2011-presentationBusiness Base-2011-presentation
Business Base-2011-presentation
 
Aves (1)
Aves (1)Aves (1)
Aves (1)
 
Ativ.avaliativaimpress
Ativ.avaliativaimpressAtiv.avaliativaimpress
Ativ.avaliativaimpress
 
New Market Planning
New Market PlanningNew Market Planning
New Market Planning
 
Civil 18
Civil 18Civil 18
Civil 18
 
CONDIMENTOS Y ESPECIAS
CONDIMENTOS Y ESPECIASCONDIMENTOS Y ESPECIAS
CONDIMENTOS Y ESPECIAS
 
Gestão da informação
Gestão da informaçãoGestão da informação
Gestão da informação
 

Similar to Ελευθεριάδου

Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
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
 
ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...
ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...
ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...
ISSEL
 
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEMTOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM
ISSEL
 
Κεφ. 2 Βασικές Έννοιες Αλγορίθμων
Κεφ. 2 Βασικές Έννοιες ΑλγορίθμωνΚεφ. 2 Βασικές Έννοιες Αλγορίθμων
Κεφ. 2 Βασικές Έννοιες Αλγορίθμων
Ιωάννου Γιαννάκης
 

Similar to Ελευθεριάδου (20)

Επικοινωνία & συγχρονισμός, αλληλεπίδραση με το χρήστη, παράλληλος προγραμματ...
Επικοινωνία & συγχρονισμός, αλληλεπίδραση με το χρήστη, παράλληλος προγραμματ...Επικοινωνία & συγχρονισμός, αλληλεπίδραση με το χρήστη, παράλληλος προγραμματ...
Επικοινωνία & συγχρονισμός, αλληλεπίδραση με το χρήστη, παράλληλος προγραμματ...
 
diafanies.ppt
diafanies.pptdiafanies.ppt
diafanies.ppt
 
ThesisPresentation
ThesisPresentationThesisPresentation
ThesisPresentation
 
Γεροκώστα
ΓεροκώσταΓεροκώστα
Γεροκώστα
 
Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419
 
Aepp kef101
Aepp kef101Aepp kef101
Aepp kef101
 
Ο ρόλος της αναπαράστασης των δεδομένων στον προγραμματισμό | Αναστάσιος Λαδι...
Ο ρόλος της αναπαράστασης των δεδομένων στον προγραμματισμό | Αναστάσιος Λαδι...Ο ρόλος της αναπαράστασης των δεδομένων στον προγραμματισμό | Αναστάσιος Λαδι...
Ο ρόλος της αναπαράστασης των δεδομένων στον προγραμματισμό | Αναστάσιος Λαδι...
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
 
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...
 
VET4SBO Level 3 module 2 - unit 1 - v1.0 gr
VET4SBO Level 3   module 2 - unit 1 - v1.0 grVET4SBO Level 3   module 2 - unit 1 - v1.0 gr
VET4SBO Level 3 module 2 - unit 1 - v1.0 gr
 
Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485Αλεξάνδρα Μπαλτζή 7485
Αλεξάνδρα Μπαλτζή 7485
 
Ιoannis Αgrotis
Ιoannis ΑgrotisΙoannis Αgrotis
Ιoannis Αgrotis
 
ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...
ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...
ΔΗΜΙΟΥΡΓΙΑ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΤΗΝ ΠΑΡΟΧΗ ΠΡΟΤΑΣΕΩΝ ΒΕΛΤΙΩΣΗΣ ΤΗΣ ΜΟΡΦΟΠΟΙΗΣΗΣ ΠΗΓ...
 
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEMTOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM
TOWARDS AN AUTOMATED SOURCE CODE FORMATTING SYSTEM
 
Thessaloniki rb-24
Thessaloniki rb-24Thessaloniki rb-24
Thessaloniki rb-24
 
Κεφ. 2 Βασικές Έννοιες Αλγορίθμων
Κεφ. 2 Βασικές Έννοιες ΑλγορίθμωνΚεφ. 2 Βασικές Έννοιες Αλγορίθμων
Κεφ. 2 Βασικές Έννοιες Αλγορίθμων
 
Κωνσταντίνος Σιδέρης 7254
Κωνσταντίνος Σιδέρης 7254Κωνσταντίνος Σιδέρης 7254
Κωνσταντίνος Σιδέρης 7254
 
Software
SoftwareSoftware
Software
 
Εισαγωγή στην αλληλεπίδραση Ανθρώπου Υπολογιστή; 2015 Σεμινάριο στο ΜΠΣ 'Εφαρ...
Εισαγωγή στην αλληλεπίδραση Ανθρώπου Υπολογιστή; 2015 Σεμινάριο στο ΜΠΣ 'Εφαρ...Εισαγωγή στην αλληλεπίδραση Ανθρώπου Υπολογιστή; 2015 Σεμινάριο στο ΜΠΣ 'Εφαρ...
Εισαγωγή στην αλληλεπίδραση Ανθρώπου Υπολογιστή; 2015 Σεμινάριο στο ΜΠΣ 'Εφαρ...
 
Σωτήρης Μπέης
Σωτήρης ΜπέηςΣωτήρης Μπέης
Σωτήρης Μπέης
 

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
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
ISSEL
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
ISSEL
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
ISSEL
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
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 environments
ISSEL
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
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
 

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...
 

Ελευθεριάδου

  • 2. 2
  • 3. Ορισμός του Προβλήματος Στόχος Διπλωματικής Αλγόριθμοι Πρόβλεψης Μετρικές Πρόβλεψης Πειραματικά Αποτελέσματα Συμπεράσματα Μελλοντικές Επεκτάσεις 3 Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 4. 4 Μοντέλο ανάπτυξης λογισμικού ανοιχτού κώδικα volunteer volunteer volunteer volunteer Project lead Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 5. 5 Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 6. 6 Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα Πρόβλεψη σφαλμάτων σε επίπεδο κλάσεων 1. Number Of Bugs 2. Number Of Major Bugs 3. Number Of Critical Bugs 4. Number Of High Priority Bugs
  • 7. 7 Η σύγκριση διαφορετικών , προκειμένου να διαπιστωθεί ποια από αυτές είναι πιο αποδοτική στην πρόβλεψη σφαλμάτων. Η σύγκριση διαφορετικών , προκειμένου να διαπιστωθεί ποιος από αυτούς είναι περισσότερο αποδοτικός όταν εφαρμόζεται πάνω στις υπό εξέταση αντικειμενοστρεφείς μετρικές. Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 8. 8 Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 9. 9 Μοντελοποιεί τη σχέση ανάμεσα σε μία ανεξάρτητη μεταβλητή (μεταβλητή πρόβλεψης) X και μία εξαρτημένη μεταβλητή (μεταβλητή στόχο) Y, χρησιμοποιώντας μία σχέση που εκφράζει την Y ως γραμμική συνάρτηση της X. Γραμμική Παλινδρόμηση Απλή Γραμμική Παλινδρόμηση Πολλαπλή Γραμμική Παλινδρόμηση Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 10. 10 Πολλαπλή γραμμική παλινδρόμηση Υi= (βο+β1Χi + β2Χ2 + …+ βnΧn ) + εi β1, β2, βn = συντελεστής παλινδρόμησης των μεταβλητών πρόβλεψης β0= ο σταθερός όρος (δηλ. η τιμή του Υ όταν το Χ=0). εi= το σφάλμα που αντιστοιχεί στη διαφορά ανάμεσα στην τιμή που προβλέπει η ευθεία γραμμή για το στιγμιότυπο i και την πραγματική τιμή που έχει το συγκεκριμένο στιγμιότυπο. Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 11. 11 Προβλέπει την πιθανότητα εμφάνισης ενός γεγονότος με την τοποθέτηση των δεδομένων σε μια συνάρτηση logit (λογιστική λειτουργία). Πρόκειται για μία δημοφιλή μέθοδο ταξινόμησης, της οποίας η συνάρτηση πρόβλεψης αποτελείται από ένα μετασχηματισμένο γραμμικό συνδυασμό μεταβλητών. Λογιστική Παλινδρόμηση )110( 1 1 )( iXbb e YP    )...22110( 1 1 )( inXnbXbXbb e YP    Είναι της μορφής , γνωστή ως σιγμοειδή συνάρτηση. Απώτερος σκοπός είναι να χαρτογραφηθεί κάθε πραγματικός αριθμός που χρησιμοποιείται ως είσοδος στην πρόβλεψη μας, η οποία θα κυμαίνεται από 0 έως 1. Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 12. 12 Η πιο διαδεδομένη βιβλιογραφικά έκφραση της λογιστικής παλινδρόμησης είναι ln(odds) = a+ b1x1 + b2 x2 +………+ bk xk Οι συντελεστές των ανεξάρτητων μεταβλητών στην εξίσωση παλινδρόμησης εκτιμώνται με βάση τη . Στην ουσία προσδιορίζεται η επίδραση της εκάστοτε ανεξάρτητης μεταβλητής στη διαμόρφωση των τιμών της εξαρτημένης μεταβλητής. Το δεξί μέρος της εξίσωσης δημιουργείται από ένα γραμμικό συνδυασμό των ανεξάρτητων μεταβλητών που συμμετέχουν στο μοντέλο παλινδρόμησης. Το αριστερό μέρος περιέχει τις τιμές της εξαρτημένης μεταβλητής, με τη μορφή του λογαρίθμου των odds, δηλαδή του λογαρίθμου της σχέσης odds = Prob/(1-Prob). To odds εναλλακτικά ονομάζεται logit και ο όρος Prob εκφράζει την πιθανότητα του συμβάντος του γεγονότος. Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 13. 13  Αναπαριστούν μια  Κάθε πιθανό “σημείο απόφασης” ή κατάσταση  Κάθε πιθανή επιλογή που μπορεί να γίνει σε ένα σημείο απόφασης  Θεωρούνται , το οποίο χρησιμοποιείται για να ταξινομήσει κλάσεις (classes) με την που προκύπτουν από τα χαρακτηριστικά (attributes) της τάξης. Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 14. 14 Εκμεταλλεύεται την που παρουσιάζουν διάφοροι αλγόριθμοι μάθησης. Βασίζεται στη από έναν αλγόριθμο μάθησης. Με τον τρόπο αυτό ο ν-οστός ταξινομητής λαμβάνει υπόψη την επίδοση των προηγούμενων ν-1 ταξινομητών για καθένα στιγμιότυπο, επικεντρώνοντας έτσι την προσπάθειά του στη σωστή πρόβλεψη των δειγμάτων για τα οποία οι προηγούμενοι απέτυχαν περισσότερο. Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 15. 15 Data set 1 Data set 2 Data set T Learner1 Learner2 LearnerT … ... … ... … ... Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 16. 16 Τα σφάλματα προκαλούνται από αλλαγές. Πολύπλοκα κομμάτια κώδικα είναι πιο δύσκολο να τροποποιηθούν, ως εκ τούτου είναι περισσότερο επιρρεπή σε λάθη. Προηγούμενες ατέλειες του κώδικα μπορούν να προβλέψουν μελλοντικές ατέλειες. Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα Μετρική Επεξήγηση NR Αριθμός αναθεωρήσεων. NREF Δείχνει πόσες φορές έχει αλλάξει ένα αρχείο, με σκοπό τη βελτίωση της εσωτερικής δομής του, χωρίς να αλλάξει η εξωτερική συμπεριφορά του. NFIX Δείχνει πόσες φορές ένα αρχείο συμπεριλήφθηκε σε κάποια επιδιόρθωση σφάλματος. NAUTH Αριθμός συγγραφέων που έλεγξαν το αρχείο. LINES Γραμμές που προστέθηκαν και διεγράφησαν (άθροισμα, μέγιστο, μέσος όρος). CHURN Codechurn (άθροισμα, μέγιστο και μέσος όρος). CHGSET Αλλαγή μεγέθους συνόλου (μέγιστο και μέσος όρος). AGE Ηλικία και σταθμισμένη ηλικία. Τύπος μετρικών Μετρική Επεξήγηση CK WMC Σταθμισμένη μέθοδος μέτρησης. CK DIT Βάθος δένδρου κληρονομικότητας. CK RFC Απόκριση για κλάση. CK NOC Αριθμός παιδιών. CK CBO Σύζευξη μεταξύ αντικειμένων. CK LCOM Έλλειψη συνοχής στις μεθόδους. Τύπος μετρικών Μετρική Επεξήγηση OO FanIn Αριθμός κλάσεων, που κάνουν αναφορά στην κλάση. OO FanOut Αριθμός κλάσεων στις οποίες αναφέρεται η κλάση. OO NOA Αριθμός γνωρισμάτων. OO NOPA Αριθμός δημόσιων γνωρισμάτων. OO NOPRA Αριθμός ιδιωτικών γνωρισμάτων. OO NOAI Αριθμός γνωρισμάτων που κληρονομούνται. OO LOC Αριθμός γραμμών κώδικα. OO NOM Αριθμός μεθόδων. OO NOPM Αριθμός δημόσιων μεθόδων. OO NOPRM Αριθμός ιδιωτικών μεθόδων. OO NOMI Αριθμός μεθόδων που κληρονομούνται. Μετρική Επεξήγηση Number Of Bugs Συνολικός αριθμός σφαλμάτων. Number Of Non Trivial Bugs: Σφάλματα τα οποία επηρεάζουν τη λειτουργικότητα του συστήματος. Number Of Major Bugs: Σφάλματα τα οποία οδηγούν σε κατάρρευση του συστήματος. Number Of Critical Bugs : Σφάλματα τα οποία οδηγούν σε αποτυχία του συστήματος. Number Of High Priority Bugs: Σφάλματα τα οποία έχουν κριθεί υψηλής προτεραιότητας.
  • 17. 17 Πολύπλοκες αλλαγές είναι πολύ πιο πιθανόν να εισάγουν λάθη σε σχέση με τις πιο απλές. Όσο πιο διάσπαρτες είναι οι αλλαγές, τόσο μεγαλύτερη είναι η τιμή που λαμβάνει η πολυπλοκότητα. Η χρήση μετρικών source code (σε αντιπαράθεση με τις κλασικές CK τεχνικές) δίνει μια καλύτερη προσέγγιση του entropy of changes από ότι η απλή τεχνική entropy of changes. Η χρήση μετρικών source code (σε αντιπαράθεση με τις κλασικές CK τεχνικές) δίνει μια καλύτερη προσέγγιση του code churn από ότι η απλή τεχνική code churn. Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα Μετρική Επεξήγηση CvsEntropy Εντροπία συστήματος CvsWEntropy Σταθμισμένη εκδοχή εντροπίας CvsLinEntropy Γραμμική εκδοχή εντροπίας CvsLogEntropy Λογαριθμική εκδοχή εντροπίας CvsExpEntropy Εκθετική εκδοχή εντροπίας
  • 18. 18 Προ-επεξεργασία  Επιλογή συνόλου δεδομένων  Λάβαμε υπόψη προς εξέταση.  Για κάθε κλάση υπολογίστηκαν οι προαναφερθέντες μετρικές :  Change metrics: 15  Previous defects: 5  Source code metrics: 17  Entropy of changes: 5  Churn of source code metrics: 17  Entropy of source code metrics: 17 Χρήση βιβλιοθήκης Χωρισμός συνόλου δεδομένων σε .  Εφαρμογή μεθόδου στο σύνολο δεδομένων. Χωρισμός κλάσεων πηγαίου κώδικα σε δύο ομάδες:  Η ομάδα περιέχει κλάσεις με .  Η ομάδα περιέχει κλάσεις που . Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 19. 19 Μετρικές ποιότητας Από το συνολικό αριθμό των κλάσεων που δεν περιέχουν σφάλματα, δίνει το ποσοστό αυτών που έχουν ταξινομηθεί σωστά ως defect free. Από το συνολικό αριθμό των κλάσεων που περιέχουν σφάλματα, δίνει το ποσοστό αυτών και έχουν ταξινομηθεί σωστά ως defect prone. Από το συνολικό αριθμό των κλάσεων που προβλέφθηκαν ως defect prone, δίνει το ποσοστό αυτών που πράγματι περιείχαν σφάλματα. Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 20. 20 Μετρικές ποιότητας Δίνει το ποσοστό των ορθά ταξινομημένων κλάσεων (true positives, true negatives). Συνεχές γράφημα που ορίζουν τα σημεία (FP, TP) Όσο μεγαλύτερη κυρτότητα εμφανίζει η Roc καμπύλη προς την άνω αριστερή γωνία (οπτική εκτίμηση), και επομένως όσο μεγαλύτερο είναι το εμβαδόν που ορίζεται κάτω από αυτή (ποσοτική εκτίμηση), τόσο μεγαλύτερη θα είναι και η διακριτική ικανότητα που θα παρουσιάζει. Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 21. 21 Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 22. 22 Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 23. 23 Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 24. 24 Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 25. 25 Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 26. 26 Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 27. 27 Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 28. 28 Εισάγαμε ένα σημείο αναφοράς, το οποίο μας επέτρεψε την επίτευξη κοινής σύγκρισης μετρικών και αλγορίθμων πρόβλεψης. Τα αποτελέσματα που προέκυψαν έδωσαν ποσοστά επιτυχούς πρόβλεψης πάνω από 80%. Entropy of Source Code Metrics και Lin- Churn Metrics: 81%-83% Log-Entropy Metrics και Weighted-Churn Metrics : 81%-84%. H απόδοση του αλγορίθμου Ενίσχυσης υπερτερεί έναντι των υπόλοιπων υπό εξέταση αλγορίθμων. Log-Churn Metrics: 78% - 79%  84%. Source Code Metrics: 78%  83%. Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 29. 29 , πάνω στα οποία θα εφαρμοστούν οι προσεγγίσεις που έχουν προταθεί στην παρούσα διπλωματική εργασία, για την πρόβλεψη μελλοντικών σφαλμάτων. σε συστήματα λογισμικού, οι οποίες θα διαμορφωθούν με βάση τις πηγές δεδομένων που αυτές χρησιμοποιούν και τα συστήματα στα οποία αυτές επικυρώνονται. , οι οποίοι θα ανταποκρίνονται στα ιδιαίτερα χαρακτηριστικά των υπό μελέτη δεδομένων. Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα
  • 30. 30 Πρόβλεψη Σφαλμάτων σε Λογισμικό Ανοιχτού Κώδικα