Show simple item record

dc.contributor.advisorΞένος, Μιχάλης
dc.contributor.authorΦιλιππόπουλος, Χρήστος
dc.contributor.otherPhilipopoulos, Christos
dc.coverage.spatialΚύπροςel_GR
dc.date.accessioned2012-11-06
dc.date.accessioned2012-11-06T09:33:58Z
dc.date.available2012-11-06T09:33:58Z
dc.date.copyright2012-08
dc.date.issued2012-11-06
dc.identifier.otherΠΛΗ/2012/00048el_GR
dc.identifier.urihttp://hdl.handle.net/11128/1088
dc.descriptionΠεριέχει βιβλιογραφικές παραπομπές.el_GR
dc.description.abstractΗ παρούσα μεταπτυχιακή διατριβή εντάσσεται στην ευρύτερη περιοχή της Τεχνολογίας Λογισμικού και πιο συγκεκριμένα καταπιάνεται με το περισπούδαστο θέμα της Ποιότητας Λογισμικού. Το λογισμικό ανοικτού κώδικα τα τελευταία χρόνια έχει γίνει απαραίτητο τόσο στην καθημερινότητα εκατομμυρίων χρηστών όσο και στις εταιρίες που επενδύουν όλο και περισσότερο σε έργα ανοικτού κώδικα. Το μοντέλο ανάπτυξης του λογισμικού ανοικτού κώδικα έχει μεγάλες διαφορές σε σχέση με τις παραδοσιακές μεθόδους ανάπτυξης εμπορικού λογισμικού, αφού στηρίζεται κυρίως στη συμμετοχή εθελοντών. Έτσι, προκύπτει άμεσα η ανάγκη να μελετηθεί η ποιότητα του πηγαίου κώδικά τους και να αναζητηθούν τρόποι για τη βελτίωσή της. Πολύ σημαντικός παράγοντας που μπορεί να επηρεάσει αρνητικά την ποιότητα ενός λογισμικού είναι η ύπαρξη σφαλμάτων. Επιπρόσθετα, ο αντικειμενοστρεφής τρόπος ανάλυσης και σχεδίασης είναι πλέον στις ημέρες μας ο κυρίαρχος τρόπος ανάπτυξης εφαρμογών με τη συντριπτική πλειοψηφία των έργων ανοικτού κώδικα να τον εφαρμόζουν. Προκύπτει λοιπόν το ερώτημα: υπάρχει τρόπος να προβλέψουμε τα σφάλματα σε λογισμικό ανοικτού κώδικα που ακολουθεί το αντικειμενοστρεφές παράδειγμα; Σκοπός της έρευνάς μας είναι η διερεύνηση της απάντησης στο παραπάνω ερώτημα αποτιμώντας εμπειρικά την καταλληλότητα της χρήσης αντικειμενοστρεφών μετρικών για τη δημιουργία μοντέλων πρόβλεψης σφαλμάτων. Με τη βοήθεια του εργαλείου ckjm υπολογίστηκαν δεκαεπτά αντικειμενοστρεφείς μετρικές σε επίπεδο κλάσης για τον πηγαίο κώδικα του λογισμικού ανοικτού κώδικα jEdit. Στη συνέχεια έγινε αντιστοίχιση των σφαλμάτων του με τις κλάσεις του πηγαίου κώδικα που χρειάστηκαν διόρθωση. Τα παραπάνω δεδομένα αποτέλεσαν την είσοδο σε μοντέλα πρόβλεψης σφαλμάτων που κατασκευάστηκαν με τη χρήση τόσο παραδοσιακών στατιστικών τεχνικών στο R (γραμμική και λογιστική παλινδρόμηση), όσο και των νεότερων αλλά πολλά υποσχόμενων τεχνικών μηχανικής μάθησης στο WEKA (δέντρο απόφασης και τεχνητό νευρωνικό δίκτυο). Η αποτίμηση κάθε μοντέλου έγινε με χρήση της διασταυρωμένης επικύρωσης σε 10 μέρη και περιλάμβανε μεταξύ άλλων την αναλογία σωστών θετικών προβλέψεων, την ακρίβεια, την ανάκληση και την περιοχή κάτω από την καμπύλη ROC. Το μοντέλο που προέκυψε από την εφαρμογή της δυαδικής πολλαπλής λογιστικής παλινδρόμησης με επιλογή προς τα εμπρός είχε την καλύτερη επίδοση, ενώ του τεχνητού νευρωνικού δικτύου ακολούθησε δεύτερο με μικρή όμως διαφορά.el_GR
dc.format.extentxi, 127 σ. πιν., 30 εκ.el_GR
dc.languagegrel_GR
dc.language.isogrel_GR
dc.subjectΠοιότητα λογισμικούel_GR
dc.subjectΤεχνολογία λογισμικούel_GR
dc.subjectΛογισμικά Ανοικτού Κώδικαel_GR
dc.subjectSoftware qualityel_GR
dc.subjectSoftware engineeringel_GR
dc.subjectOpen Source Softwareel_GR
dc.titleΑποτίμηση της καταλληλότητας χρήσης αντικειμενοστρεφών μετρικών για τη δημιουργία μοντέλων πρόβλεψης σφαλμάτων σε λογισμικό ανοικτού κώδικαel_GR
dc.typeΜεταπτυχιακή Διατριβήel_GR
dc.description.translatedabstractThis thesis refers to the scientific field of Software Engineering and more specifically is dealing with the profound issue of Software Quality. Open source software has become necessary in every day life for millions of users but also for companies that keep investing resources in open source projects. The development model for open source software has great differences compared to the traditional development methods of commercial software, as it mainly depends on volunteers' contribution. That's the reason we need to focus extensively on the quality of its source code, as well as it's essential to seek methods for improving its software quality. A major factor that could negatively affect the software quality is the presence of faults. Object oriented analysis and design is nowadays the main method for applications' development, a method that most of the open source projects are currently using. So an important question arises: Can faults be predicted in object-oriented open source projects? The main intention of this research is to examine the above matter, empirically assessing the suitability of using object oriented metrics in order to create fault predicting models. Using the tool ckjm, we calculated seventeen object oriented metrics on class level, for the source code of the open source software jEdit. Afterwards, the faults were corresponded with the source code classes that needed to be corrected. The above data constituted the input in fault prediction models constructed by using traditional statistical techniques in R (linear and logistic regression), and the more modern and promising machine learning algorithms in WEKA (decision tree and artificial neural network). Each model was validated by using 10-fold cross-validation technique and among others we calculated the true positive rate, the precision, the recall and the area under the ROC curve (AUC). The model created by applying binary multiple logistic regression with stepwise forward selection provided the best performance, while artificial neural network followed second with a slight distanceel_GR
dc.format.typepdfel_GR


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record