dc.contributor.author | Δρόσης, Οδυσσέας | el |
dc.contributor.author | Drosis, Odysseas | en |
dc.date.accessioned | 2020-05-07T15:26:22Z | |
dc.identifier.uri | https://dspace.lib.ntua.gr/xmlui/handle/123456789/50414 | |
dc.identifier.uri | http://dx.doi.org/10.26240/heal.ntua.18112 | |
dc.rights | Αναφορά Δημιουργού-Μη Εμπορική Χρήση-Όχι Παράγωγα Έργα 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/gr/ | * |
dc.subject | Αλγόριθμοι μηχανικής μάθησης | el |
dc.subject | Σφάλματα λογισμικού | el |
dc.subject | Λογιστική Παλινδρόμηση | el |
dc.subject | Δυαδική Ταξινόμηση | el |
dc.subject | Μετρικές | |
dc.subject | Χρονοσειρές | el |
dc.subject | Μαρκοβιανή αλυσίδα | el |
dc.subject | Machine learning algorithms | en |
dc.subject | Software Bugs | en |
dc.subject | Logistic Regression | en |
dc.subject | Binary classification | en |
dc.subject | Metrics | en |
dc.subject | Time series | en |
dc.subject | Markov Chain | en |
dc.title | Τεχνικές μηχανικής μάθησης για την πρόβλεψη σφαλμάτων σε λογισμικό | el |
dc.title | Machine Learning Techniques to Predict Software Bugs | en |
heal.type | bachelorThesis | |
heal.classification | ΑΛΓΟΡΙΘΜΟΙ | el |
heal.dateAvailable | 2021-05-06T21:00:00Z | |
heal.language | el | |
heal.access | embargo | |
heal.recordProvider | ntua | el |
heal.publicationDate | 2019-07-16 | |
heal.abstract | Στις μέρες μας ένα μεγάλο ποσοστό των προγραμματιστών ασχολούνται με την επιδιόρθωση αλγορίθμων και την εύρεση μεθόδων ελαχιστοποίησης των λαθών σε αυτούς. Η ανάγνωση, η κατανόηση και η επιδιόρθωση ενός κώδικα αποτελεί ένα αρκετά δύσκολο πρόβλημα και απαιτεί πολύ μεγάλη υπολογιστική δύναμη αλλά και ανθρώπινο δυναμικό. Ένας πιο αποδοτικός τρόπος επίλυσης του προβλήματος αυτού που παρουσιάζεται και σε όλες τις μεγάλες εταιρίες παγκοσμίου βεληνεκούς θα ήταν μέσω αλγορίθμων να υπολογίζουμε τις πιθανότητες εμφάνισης λαθών λογισμικού είτε γνωρίζοντας τον κώδικα αυτού είτε βασιζόμενοι αποκλειστικά σε δεδομένα του παρελθόντος είτε συνδυάζοντας τα δύο παραπάνω. Και οι δύο τρόποι υλοποιούνται με αλγορίθμους μηχανικής μάθησης και τις αντίστοιχες τεχνικές. Στην διπλωματική αυτή εργασία θα αφοσιωθούμε στις δυνατότητες πρόβλεψης λαθών λογισμικού χωρίς να γνωρίζουμε τον κώδικα της εφαρμογής ούτε την γλώσσα προγραμματισμού που έχει υλοποιηθεί αλλά μόνο το πλήθος και το είδος των bugs που εμφανίστηκαν από την μέρα που έχουμε αρχίσει την μελέτη. Οι αλγόριθμοι που θα υλοποιηθούν είναι μηχανικής μάθησης και προσαρμόζονται στα δεδομένα που διαθέτουμε χωρίς καμιά πρώιμη γνώση. Επίσης γίνεται αναφορά σε ήδη υπάρχοντες τρόπους επίλυσης του προβλήματος αυτού, σύγκριση αυτών με τις δίκες μου μεθόδους καθώς και διαφορετικούς τρόπος επίλυσης ακολουθώντας την ίδια μέθοδο. Τέλος, γίνεται σύγκριση των μεθόδων που χρησιμοποιήθηκαν (Poisson regression, Naive Bayes, Decision trees, Neural Networks Relu Activation Function, Logistic Regression) με την χρήση μετρικών που χρησιμοποιούνται για δυαδική ταξινόμηση. Στη συνέχεια αποφαινόμαστε σχετικά με την βέλτιστη προσέγγιση στο πρόβλημα αυτό που έγινε με την χρήση χρονοσειρών με την μέθοδο της Logistic Regression καθώς και τα επιπλέον δεδομένα που θα έπρεπε να διαθέτουμε ώστε να βελτιώσουμε την απόδοση των προσεγγίσεων | el |
heal.abstract | Nowadays, a large percentage of developers are engaged in repairing algorithms and finding ways to minimize errors in them. Reading, understanding and correcting a code is a fairly challenging problem and requires a lot of computing power but also human resources. A more efficient way to solve this problem across all major global corporations would be by means of algorithms to calculate the chances of software errors either by knowing the code or by relying solely on past data or by combining the two above. Both ways are implemented with machine learning algorithms and the corresponding techniques. In this diploma thesis we will devote ourselves to the possibilities of predicting software errors without knowing the application code neither the programming language that has been implemented but only the number and type of bugs that have occurred since the day we started the study. The algorithms to be implemented are mechanical learning and are adapted to the dataset we have without any early knowledge. Also, reference is made to existing ways of solving this problem, comparing these with my trials methods and different ways of solving the same method. Finally, we compare the methods used (Poisson regression, Naive Bayes, Decision trees, Neural Networks with Relu Activation Function, Logistic Regression) by using metrics designed for binary classification. We then make a decision on the optimal approach to the logistic regression using Logical Regression, as well as the additional data that we should have to improve the performance of the approaches. | en |
heal.advisorName | Φωτάκης, Δημήτριος | el |
heal.committeeMemberName | Στάμου, Γιώργος | el |
heal.committeeMemberName | Παγουρτζής, Αριστείδης | el |
heal.academicPublisher | Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών | el |
heal.academicPublisherID | ntua | |
heal.fullTextAvailability | true |
Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο: