Καταργημένα θέματα ερευνητικών εργασιών 2017-

Εύρεση μη δηλωμένων εξαρτήσεων σε συστήματα διαμόρφωσης υπολογιστών

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

Υλοποιήθηκε το 2019. Βλ. Thodoris Sotiropoulos, Dimitris Mitropoulos, Diomidis Spinellis. Detecting Missing Dependencies and Notifiers in Puppet Programs.

Αντίστροφη μεταγλώττιση βασισμένη σε μηχανική μάθηση

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

Υλοποιήθηκε το 2018. Βλ. Java decompiler using machine translation techniques καθώς και την εργασία των Cheng Fu, Huili Chen, Haolan Liu, Xinyun Chen, Yuandong Tian, Farinaz Koushanfar, Jishen Zhao. A Neural-based Program Decompiler.

Μετρικές επιτυχημένων ιστότοπων και εταιριών

Στόχος της εργασίας είναι να ερευνήσει τη συσχέτιση ανάμεσα σε μετρικές του περιεχομένου ενός ιστότοπου και της επιτυχίας του ιστότοπου ή της αντίστοιχης εταιρίας. Μερικές μετρικές μπορεί να είναι οι παρακάτω:

Οι σελίδες που θα ερευνηθούν θα είναι αυτές των ιστότοπων που εμφανίζονται στην κορυφή των Alexa rankings καθώς και των εταιριών Fortune 1000.

Αποδοτική παράσταση επιστημονικών γενεαλογικών δένδρων

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

Στόχος της εργασίας είναι η υλοποίηση ενός εργαλείου στο σύστημα Graphviz (αντίστοιχου με το dot ή το fdp) που θα επιτρέπει την αποδοτική παράσταση τέτοιων γράφων εκμεταλλευόμενο τα ειδικά τους χαρακτηριστικά. Για το σκοπό αυτό το εργαλείο θα χρησιμοποιεί όσο αποδοτικότερα γίνεται τα κενά που αφήνονται σήμερα από το εργαλείο dot σε κάθε γενεά, κρατώντας όμως στις συνδέσεις του γράφου μία κατεύθυνση στην οποία δεν θα υπάρχουν αντίστροφες συνδέσεις (από αριστερά προς τα δεξιά στο συγκεκριμένο παράδειγμα).

Στοχαστική βελτιστοποίηση διεπαφής CAD

Ένα συγκεκριμένο λογισμικό CAD για αρχιτέκτονες και πολιτικούς μηχανικούς έχει κατηγοριοποιημένες τις εντολές και τις παραμέτρους ανά οντότητα και τύπο. Στόχος της εργασίας είναι η ανάπτυξη τεχνικής για τη βελτιστοποίηση της κατηγοριοποίησης. Για το σκοπό αυτό θα πρέπει πρώτα να γίνει βιβλιογραφική επισκόπηση του χώρου. Στη συνέχεια πρέπει να κατασκευαστεί μοντέλο κόστους για την εκτέλεση των εντολών και την αλλαγή των παραμέτρων του υπάρχοντος προγράμματος. Τέλος, εφαρμόζοντας αλγορίθμους στοχαστικής βελτιστοποίησης πάνω στο υπάρχον μοντέλο κόστους και το ιστορικό πέντε εκατομμυρίων εντολών που δόθηκαν σε 56 χιλιάδες πραγματικές εκτελέσεις του προγράμματος, πρέπει να δημιουργηθεί και να αξιολογηθεί ένα νέο προτεινόμενο μοντέλο διάταξης των εντολών και να διατυπωθούν συμπεράσματα σχετικά με τη μέθοδο που ακολουθήθηκε και τα αποτελέσματά της.

Υλοποιήθηκε το 2018. Βλ. Alexander Lattas and Diomidis Spinellis. Echoes from space: Grouping commands with large-scale telemetry data. In 40th International Conference on Software Engineering: Software Engineering in Practice Track, ICSE-SEIP '18, New York, NY, USA, May 2018. Association for Computing Machinery. doi:10.1145/3183519.3183545

Οσμές ποιότητας σε αρχεία Word/Excel/Powerpoint

Οι οσμές ποιότητας (quality smells) μπορούν να χρησιμοποιηθούν για να ανιχνεύσουν κακή ποιότητα σε ένα ψηφιακό έγγραφο. Για παράδειγμα σε αρχεία Word μπορεί να είναι η απουσία χρήσης προτύπων (styles), σε αρχεία Excel η μη χρήση ονομάτων και σε αρχεία Powerpoint η μορφοποίηση χωρίς τη χρήση πρότυπων διαφανειών (master slides). Η εργασία

Εξέλιξη της ασφάλειας στον πηγαίο κώδικα του Unix

Με βάση ένα αποθετήριο που καλύπτει 45 χρόνια της εξέλιξης του πηγαίου κώδικα του λειτουργικού συστήματος Unix η εργασία θα ερευνήσει πώς εξελίσσονται πιθανές ευπάθειες του κώδικα που θα μπορούσαν να οδηγήσουν σε κενά ασφάλειας. Η ανίχνευση των ευπαθειών θα γίνει με τη χρήση σχετικών εργαλείων στατικής ανάλυσης κώδικα, όπως του Flawfinder.

Υλοποιήθηκε το 2019. Βλ. Charalambos Mitropoulos. 2019. Employing different program analysis methods to study bug evolution. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2019). ACM, New York, NY, USA, 1202-1204. DOI: 10.1145/3338906.3342489 και την αντίστοιχη μεταπτυχιακή εργασία.

Γραφική διεπαφή για εντολές του Unix

Οι εντολές που προσφέρονται στη γραμμή εντολών του Unix είναι εξαιρετικά ισχυρές. Όμως η διαμόρφωσή τους με παραμέτρους είναι δύσκολη και απαιτεί συχνές αναφορές στην τεκμηρίωσή τους, διότι είναι δύσκολο κανείς να θυμάται τις διαθέσιμες παραμέτρους και τα ονόματά τους.

Στόχος της εργασίας είναι η δημιουργία μιας γραφικής διεπαφής για τη διαμόρφωση των παραμέτρων της κάθε εντολής. Αυτή θα εμφανίζει κατάλληλα ομαδοποιημένες και τεκμηριωμένες τις διαθέσιμες παραμέτρους, επιτρέποντας στο χρήστη να επιλέξει αυτές που χρειάζεται. Με βάση τις επιλογές του χρήστη, η διεπαφή θα σχηματίζει δυναμικά την εντολή με τη μορφή που πρέπει να εκτελεστεί.

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

Υλοποιήθηκε το 2018. Βλ. το σχετικό αποθετήριο στο GitHub και την αντίστοιχη μεταπτυχιακή εργασία.

A tool for reproducible research

Most of this functionality is provided by R Reports and the Python Notebooks. See: Shen, Helen, Interactive Notebooks: Sharing the Code, Nature, 515(7525):151--152, 2014}, DOI: 10.1038/515151a, and Ten Simple Rules for Reproducible Research in Jupyter Notebooks.

Empirical investigation of merge conflicts

Αποδοτική αποσφαλμάτωση «πίσω στο χρόνο» με την τεχνολογία Intel PT

Η τεχνολογία Intel PT επιτρέπει την καταγραφή της ροής εκτέλεσης των εντολών ενός προγράμματος με μικρό κόστος σε απόδοση. Στόχος της εργασίας είναι η υλοποίηση (μέσω προσαρμογής του υπάρχοντα κώδικα ενός αποσφαλματωτή, όπως ο GDB) αποσφαλμάτωσης «πίσω στο χρόνο» (back in time debugging) με τη χρήση της τεχνολογίας αυτής. Αν και η αποσφαλμάτωση δεν θα επιτρέπει την πρόσβαση σε μεταβλητές, θα επιτρέπει την απόλυτα ακριβή παρακολούθηση της ροής του προγράμματος, με απόδοση τέτοια που πιθανώς να μην απαιτεί ενεργοποίηση από το χρήστη. Για την μείωση της απαιτούμενης μνήμης προτείνεται η δυναμική συμπίεση των δεδομένων που καταγράφονται. Επισκόπηση σχετικών τεχνικών υπάρχει σε αυτό το άρθρο.

Η σχετική δυνατότητα υποστηρίζεται πλέον από την εντολή record pt του GDB.