PYXIDA Institutional Repository
and Digital Library
 Home
Collections :

Title :Τεχνικές ανίχνευσης ισοδύναμων μεταλλάξεων
Alternative Title :Equivalent mutation detection techniques
Creator :Κουλέπογλου, Σάββας-Κωνσταντίνος
Contributor :Μαλεύρης, Νικόλαος (Επιβλέπων καθηγητής)
Ζαφείρης, Βασίλειος (Εξεταστής)
Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής (Degree granting institution)
Type :Text
Extent :128σ.
Language :el
Identifier :http://www.pyxida.aueb.gr/index.php?op=view_object&object_id=9612
Abstract :Ο Έλεγχος Μεταλλάξεων αποτελεί μια δημοφιλή τεχνική ελέγχου που στοχεύει στην εκτίμηση της ποιότητας μιας σουίτας ελέγχου (test suite). H τεχνική περιορίζεται στην εισαγωγή τεχνητών σφαλμάτων στο υπό έλεγχο πρόγραμμα. Αυτά τα σφάλματα αποτελούν απλές συντακτικές αλλαγές και ονομάζονται τελεστές μετάλλαξης (mutation operators). Κάθε εισαγωγή ενός τέτοιου τελεστή έχει ως αποτέλεσμα την παραγωγή ενός νέου προγράμματος που ονομάζεται μεταλλάκτης (mutant).Τα βασικά βήματα της μεθόδου περιορίζονται στα παρακάτω:I. Επιλογή τελεστώνII. Δημιουργία μεταλλάξεωνIII. Εκτέλεση ΜεταλλάξεωνIV. Αξιολόγηση ΑποτελεσμάτωνΠάρα τη σημασία της μεθόδου, η εφαρμογή της, ιδιαίτερα στον τομέα της βιομηχανίας ανάπτυξης προγραμμάτων λογισμικού κρίνεται περιορισμένη εξαιτίας των προβλημάτων που παρουσιάζει. Πέρα από το πρόβλημα του απαιτούμενου χρόνου εκτέλεσης και των απαιτούμενων πόρων, έχει φανεί πως ίσως το σημαντικότερο πρόβλημα της μεθόδου αυτής είναι η ύπαρξη των Ισοδύναμων Μεταλλάξεων (Equivalent Mutations). Το πρόβλημα των Ισοδύναμων Μεταλλάξεων (Equivalent Mutants Problem, EMP) αποτελεί ένα από τα σημαντικότερα προβλήματα στο χώρο του ελέγχου μεταλλάξεων. Οι ισοδύναμες μεταλλάξεις είναι μεταλλάξεις που δεν επηρεάζουν τη σημασιολογία του υπό εξέταση προγράμματος και συνεπώς δεν μπορούν να εντοπιστούν από καμία σουίτα ελέγχου. Παρόλο που τις τελευταίες δεκαετίες έχει παρουσιαστεί πληθώρα ερευνών για την ανάλυση και την αντιμετώπιση του προβλήματος, αυτό παραμένει ένα δυσεπίλυτο πρόβλημα. Η διαδικασία χειρωνακτικής αξιολόγησης των μεταλλάξεων με σκοπό την κατηγοριοποίηση τους σε ισοδύναμες ή όχι, αποτελεί άκρως επίπονη διαδικασία. Αυτό έχει ως αποτέλεσμα την αναζήτηση τρόπου για την αυτοματοποιημένη ανίχνευση των ισοδύναμων μεταλλάξεων. Στην παρούσα μελέτη επιλέχθηκαν οι σημαντικότερες εξ ‘αυτών με βάση την σχετική βιβλιογραφία τα αποτελέσματα και τις προοπτικές.Έτσι οι τεχνικές που θα επικεντρωθούμε είναι:1. Τεχνικές Βελτιστοποίησης Μεταγλώττισης2. Τεχνικές βασισμένες σε Μαθηματικούς Περιορισμούς3. Τεχνικές Ανάλυσης Κάλυψης4. Τεχνική Συμπεριφοράς Κλώνου Κώδικα5. Τεχνική Τεμαχισμού Προγράμματος6. Τεχνικές Ανάλυσης Εξάρτησης7. Τεχνική Δυναμικής Εκτέλεσης8. Τεχνική Μεταλλάξεων Υψηλότερης Τάξης.
Mutation Testing is a popular testing technique that aims to assess the quality of a test suite. The technique is limited to introducing artificial errors into the program under test. These errors are simple syntactic changes and are called mutation operators. Each insertion of such an operator results in the production of a new program called a mutant.The basic steps of the method are limited to the following:I. Selection of operatorsII. Generating mutationsIII. Execution of MutationsIV. Evaluation of ResultsDespite the importance of the method, its application, especially in the software development industry, is considered limited due to the problems it presents. Apart from the problem of the required execution time and the required resources, it has been seen that perhaps the most important problem of this method is the existence of Equivalent Mutations.The Equivalent Mutants Problem (EMP) is one of the most important problems in the field of mutation control. Equivalent mutations are mutations that do not affect the semantics of the program under consideration and thus cannot be detected by any control suite. Although there has been a wealth of research in recent decades to analyze and address the problem, it remains an intractable problem. The process of manually evaluating the mutations in order to categorize them as equivalent or not, is an extremely laborious process. This results in the search for a way to automatically detect the equivalent mutations.In the present study, the most important of them were selected based on the relevant literature, results and perspectives. So, the techniques we will focus on are:1. Compile Optimization Techniques2. Techniques based on Mathematical Constraints3. Coverage Analysis Techniques4. Code Clone Behavior Technique5. Program Slicing Technique6. Dependency Analysis Techniques7. Dynamic Performance Technique8. Technique of Higher Order Mutations.
Subject :Έλεγχος μεταλλάξεων
Ισοδύναμες μεταλλάξεις
Έλεγχος λογισμικού
Μεταλλάξεις υψηλότερης τάξης
Mutation testing
Equivalent mutations
Software control
Higher order mutations
Date Available :2022-09-06 20:30:31
Date Issued :09/05/2022
Date Submitted :2022-09-06 20:30:31
Access Rights :Free access
Licence :

File: Koulepoglou_2022.pdf

Type: application/pdf