Οι κωδικές μυρωδιές υποδεικνύουν την ύπαρξη προβλημάτων ποιότητας που επηρεάζουν πολλές πτυχές της ποιότητας του λογισμικού, όπως η συντηρησιμότητα, η αξιοπιστία και η δυνατότητα δοκιμής. Η παρουσία υπερβολικού αριθμού μυρωδιών σε ένα σύστημα λογισμικού καθιστά δύσκολο να διατηρηθεί και να εξελιχθεί.Ο πρώτος μας στόχος σε αυτή τη διατριβή είναι να κατανοήσουμε τα χαρακτηριστικά των μυρωδιών του κώδικα, όπως η συχνότητα εμφάνισής τους, και σχέσεις όπως η συσχέτιση και η συνεγκατάσταση μεταξύ των μυρωδιών που προκύπτουν σε διαφορετικές γρανιτηρίες. Στόχος μας είναι η διεξαγωγή διερευνητικής μελέτης για τη διερεύνηση της σκοπιμότητας ανίχνευσης μυρωδιών με τη χρήση μεθόδων βαθιάς μάθησης χωρίς εκτεταμένη μηχανική. Θα θέλαμε επίσης να διερευνήσουμε εάν η εκμάθηση μεταφοράς μπορεί να χρησιμοποιηθεί στο πλαίσιο της ανίχνευσης της οσμής. Εκτός από τον πηγαίο κώδικα παραγωγής, άλλοι υποτομείς λογισμικού, όπως ο κώδικας διαμόρφωσης στην Υποδομή ως πρότυπο κώδικα (IaC) και ο κώδικας βάσης δεδομένων, είναι επίσης επιρρεπείς σε θέματα διατήρησης. Ο επόμενος στόχος μας είναι να προτείνουμε μια μέθοδο για τον προσδιορισμό των ζητημάτων ποιότητας στον κώδικα διαμόρφωσης και να διεξάγουμε μια ανάλυση διατήρησης.Εκτελούμε μια εκτεταμένη εμπειρική μελέτη για να αναλύσουμε τον κώδικα παραγωγής γραμμένο σε C # από την άποψη της διατήρησης. Είμαστε ορυχεία επτά αρχιτεκτονική, 19 σχεδιασμό, 11 μυρωδιά εφαρμογής από ένα μεγάλο σύνολο 3.209 αποθεμάτων ανοιχτού κώδικα που περιέχουν περισσότερες από 83 εκατομμύρια γραμμές κώδικα. Η εξερεύνησή μας με τεχνικές βαθιάς μάθησης καθιερώνει ότι μέθοδοι βαθιάς εκμάθησης μπορούν να χρησιμοποιηθούν για την ανίχνευση της οσμής, αν και οι επιδόσεις μεμονωμένων μοντέλων ποικίλλουν σημαντικά. Επεκτείνουμε την ανάλυση συντήρησης στον κωδικό διαμόρφωσης. Αναλύουμε 4.621 αποθήκες κουταβιού που περιέχουν 142.662 αρχεία κουπών και περισσότερες από 8.9 εκατομμύρια γραμμές κώδικα χρησιμοποιώντας το Puppeteer - ένα εργαλείο ανίχνευσης οσμών που αναπτύξαμε. Περαιτέρω, διερευνάμε τις μυρωδιές της σχεσιακής βάσης δεδομένων και τις σχέσεις της με τα χαρακτηριστικά της εφαρμογής και της βάσης δεδομένων. Συγκρίνουμε την ανοιχτή προέλευση με το βιομηχανικό κώδικα από την άποψη της ποιότητας του σχήματος βάσης δεδομένων.