1. Αυτόματος εντοπισμός και διόρθωση σφάλματος σε προγράμματα JAVA με χρήση δυναμικού τεμαχισμού, έλεγχου μετάλλαξης και γενετικών αλγόριθμων
- Author
-
Stylianou, Christiana Stavrou, Andreou, Andreas, Ανδρέου, Ανδρέας, Chrysanthou, Yiorgos, Christodoulou, Christodoulos, Χρυσάνθου, Γιώργος, Χριστοδούλου, Χριστόδουλος, University of Cyprus, Faculty of Pure and Applied Sciences, Department of Computer Science, and Πανεπιστήμιο Κύπρου, Σχολή Θετικών και Εφαρμοσμένων Επιστημών, Τμήμα Πληροφορικής
- Abstract
Διατριβή (Μεταπτυχιακή) -- Πανεπιστήμιο Κύπρου, Σχολή Θετικών και Εφαρμοσμένων Επιστημών, Τμήμα Πληροφορικής, 2010. Η αποσφαλμάτωση είναι μια διαδικασία περίπλοκη και χρονοβόρα, για αυτό και έχουν γίνει πολλές προσπάθειες για αυτοματοποίηση της. Έχοντας σαν στόχο την βελτίωση της αποσφαλμάτωσης, ο Τεμαχισμός Προγράμματος περιορίζει το πεδίο αναζήτησης του σφάλματος αποκλείοντας τις δηλώσεις που δεν λαμβάνουν μέρος στον υπολογισμό της λανθασμένης εξόδου. Με τον Δυναμικό Τεμαχισμό το τεμάχιο προγράμματος έχει μειωθεί σε κάποιο βαθμό, εντούτοις είναι τις περισσότερες φορές αρκετά μεγάλη. Οι τεχνικές ελέγχου με χρήση μετάλλαξης εφαρμόζουν διάφορους τελεστές μετάλλαξης σε ένα σωστό πρόγραμμα εισάγοντας συχνά προγραμματιστικά λάθη. Δημιουργείται έτσι ένα μεγάλο σύνολο από λανθασμένα προγράμματα κάθε ένα από τα οποία περιέχει ένα συγκεκριμένο λάθος. Τα λανθασμένα προγράμματα εκτελούνται με ένα σύνολο από σενάρια ελέγχου με σκοπό τη μέτρηση της αποτελεσματικότητας τους με βάση την ικανότητα τους να εντοπίσουν τα λάθη. Σε αυτή την εργασία προτείνεται μια καινοτόμος μεθοδολογία για εντοπισμό αλλά και διόρθωση σφάλματος σε προγράμματα Java, με χρήση Δυναμικού Τεμαχισμού, Ελέγχου Μετάλλαξης και Γενετικών Αλγορίθμων. Συγκεκριμένα, αξιοποιώντας την πληροφορία που μας δίνει ο δυναμικός τεμαχισμός προγράμματος προσπαθούμε να αλλάξουμε τη ροή του εσφαλμένου προγράμματος εφαρμόζοντας αντικαταστάσεις όχι σε ολόκληρο το πρόγραμμα αλλά μόνο στις γραμμές που περιέχονται στη τεμάχιο της λανθασμένης εκτέλεσης του προγράμματος. Για την δημιουργία των αντικαταστάσεων που θα εφαρμόσουμε σε κάθε μια από τις εν λόγω γραμμές χρησιμοποιούμε τους τελεστές μετάλλαξης του ελέγχου μετάλλαξης. Η εύρεση της δήλωσης που περιέχει το λάθος σε συνδυασμό με την επιλογή της σωστής αντικατάστασης αποτελεί ένα πρόβλημα με πολύ μεγάλο αριθμό λύσεων. Χρησιμοποιώντας γενετικούς αλγόριθμους αναγάγουμε το πρόβλημα αυτό σε πρόβλημα αναζήτησης.
- Published
- 2010