Εντοπισμός και διόρθωση σφαλμάτων μορφοποίησης πηγαίου κώδικα με τη βοήθεια τεχνικών Μηχανικής Μάθησης

Η απασφαλμάτωση και συντήρηση ενός έργου λογισμικού αποτελούν συνήθως το πιο χρονοβόρο και πολυδάπανο κομμάτι του έργου. Πέρα από τα τυπικά προβλήματα (αλλαγή τεχνολογιών, ελλιπής τεκμηρίωση πηγαίου κώδικα), η κακή μορφοποίηση του κώδικα δυσχεραίνει τη μετέπειτα αναγνωσιμότητά του, την εύρεση και διόρθωση των λογικών λαθών σε αυτόν, αλλά και την επαναχρησιμοποίησή του σε άλλα κομμάτια λογισμικού. Ταυτόχρονα, η κατανόηση του κώδικα από άλλους προγραμματιστές πολλές φορές γίνεται σχεδόν αδύνατη.

Στόχος της διπλωματικής είναι η δημιουργία ενός συστήματος μηχανικής μάθησης για την ανάλυση λογισμικού, το οποίο θα δέχεται σαν είσοδο τον πηγαίο κώδικα ενός έργου και θα είναι σε θέση να προσδιορίζει την θέση και τον τύπο ενός σφάλματος μορφοποίησης. Παράλληλα, το σύστημα θα προτείνει την καλύτερη δυνατή τροποποίηση του υπάρχοντος κώδικα, με σκοπό την εξάλειψη του σχετικού σφάλματος. Η επιλογή της τελικής τροποποίησης μπορεί να επιλέγεται και από τον χρήστη, μέσα από μια λίστα με πιθανές διορθώσεις που θα προτείνει το σύστημα.

Κωδικός: Autumn19-Softeng-1

Εμπλεκόμενες Τεχνολογίες – Γνώσεις που θα αποκτηθούν

  • Ανάλυση δεδομένων/Μηχανική Μάθηση
  • Σημασιολογική Ανάλυση δεδομένων
  • Συστήματα προτάσεων/υποδείξεων
  • Τεχνικές βελτίωσης της αναγνωσιμότητας πηγαίου κώδικα
  • Τεχνολογίες/Γλώσσες προγραμματισμού (Tensorflow or Keras or scikit-learn/Python)

Εκτιμώμενος Χρόνος Περάτωσης

6 – 9 Μήνες

Συνεργαζόμενοι Ερευνητές

Υποψήφιος Δρ: Θωμάς Καρανικιώτης (thomas.karanikiotis [at] issel [dot] ee [dot] auth [dot] gr)