Αναγνώριση συγγραφέα πηγαίου κώδικα σε ασύμμετρα σύνολα εκπαίδευσης : - Χατζηχαραλάμπους, Ευάγγελος (2011)
Η αναγνώριση συγγραφέα πηγαίου κώδικα έχει να κάνει με τον εντοπισμό του πιο πιθανού συγγραφέα ενός τμήματος πηγαίου κώδικα. Στις ημέρες μας μια τέτοια λειτουργία είναι πλέον απαραίτητη για ένα ευρύ φάσμα περιπτώσεων όπως διενέξεις συγγραφέων, απόδειξή κυριότητας του κώδικα σε δικαστήριο καθώς και εντοπισμού πατρότητας κακόβουλου λογισμικού όπως ιών, spyware, Trojan horses κτλ. Η αναγνώριση συγγραφέα πηγαίου κώδικα πετυχαίνει τον εντοπισμό του πιο πιθανού συγγραφέα μέσα από ένα πλήθος από συγγραφείς. Για να επιτευχθεί κάτι τέτοιο έχουνε γίνει πολλές προσπάθειες και πολλές διαφορετικές προσεγγίσεις στο πρόβλημα μέσα στο χρόνο. Η διαδικασία επιλογής της μεθόδου με το καλύτερο ποσοστό επιτυχίας είναι δύσκολη και χρειάζεται πολύ πειραματισμό. Η επικρατέστερη μέθοδος εντοπισμού του πιο πιθανού συγγραφέα είναι μέσω της μεθόδου της μηχανικής μάθησης έχοντας στην διάθεση μας ένα πλήθος από τμήματα πηγαίου κώδικα που έχουν γράψει οι συγγραφείς να τα αναλύσουμε και να εξάγουμε τα χαρακτηριστικά που κάνουν τους πηγαίους κώδικες από συγγραφέα σε συγγραφέα να ξεχωρίζουν μεταξύ τους. Αυτό το πετυχαίνουμε χωρίζοντας το κείμενο του πηγαίου κώδικα κάθε συγγραφέα σε n-γράμματα και υπολογίζοντας ποία είναι τα πιο κοινά n-γράμματα που εμφανίζονται στους κώδικες του κάθε συγγραφέα. Δυστυχώς αυτή η μέθοδός παρουσιάζει ένα μεγάλο μειονέκτημα, εάν τα δεδομένα που έχουμε δεν είναι συμμετρικά από συγγραφέα σε συγγραφέα (δηλαδή για κάποιον συγγραφέα έχουμε περισσότερα δείγματα από παλαιότερο πηγαίο κώδικα του από ότι για κάποιον άλλο) τότε η παραπάνω μέθοδος χάνει μέρος της αποτελεσματικότητας της. Σε αυτήν την διπλωματική εργασία θα αναλύσουμε και θα πειραματιστούμε πάνω κάποιες μεθόδους που θα μπορούσαν να βελτιώσουν την αποτελεσματικότητα των αλγορίθμων CNG και SVM. Οι μέθοδοι αυτές έχουν να κάνουν με την επεξεργασία των δεδομένων εκπαίδευσης των αλγορίθμων αυτών (training data) και τα αποτελέσματα τους θα μας βοηθήσουνε να αντιληφθούμε καλύτερα το πρόβλημα των ασύμμετρων συνόλων στην αναγνώριση συγγραφέα πηγαίου κώδικα καθώς και να εξάγουμε κάποιες κατευθυντήριες γραμμές για το πώς θα μπορούσε αυτό το πρόβλημα να έχει όσο το δυνατόν μικρότερο αντίκτυπο στα αποτελέσματα των παραπάνω αλγορίθμων.