Explainable AI Code Generation Assistant
Loading...
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
BSc in Applied Computer Science, School of Economics, Business and Computer Science, Neapolis University Pafos
Abstract
Large language models can generate and modify code for non-trivial program-ming tasks, but their explanations often remain generic or weakly connected to the implementation. When an agent edits several files, the developer must understand what changed and where each explanation is grounded in the code. The main objec-tive of this dissertation is to design, implement, and evaluate an explainable AI code generation assistant that connects natural-language explanations to source-code lines.
The system was implemented as an IntelliJ plugin. It combines code gener-ation through Junie CLI with explanation generation, multiple detail levels, struc-tured and unstructured formats, explanation-to-code mappings, editor highlighting, and optional insertion of mapped comments. The methodology includes two evalua-tion directions. First, a mini-dataset based on annotated labml.ai implementations compares generated explanations with human-written explanations using an LLM-as-a-judge score. Second, a paired SWE-bench Verified Mini experiment compares normal and explanation-enriched repositories.
The findings show that the plugin can produce useful explanation artifacts for realistic generation and repair workflows. In the explanation-quality evaluation, the best OpenAI configuration reached a mean score of 0.786, while the Junie-based setting reached 0.752. In SWE-bench Verified Mini, explanation-enriched repositories solved 33 out of 50 tasks, compared with 32 out of 50 in the regular condition. The results do not prove a statistically significant improvement, but they indicate that grounded explanations can support review without harming agent performance. The dissertation concludes that explanation-to-code mapping is most valuable as a verification layer for AI-generated code, while broader claims about trust and productivity require larger benchmarks and human studies.
Description
Τα μεγάλα γλωσσικά μοντέλα μπορούν πλέον να παράγουν και να τροποποιούν κώδικα για σύνθετες προγραμματιστικές εργασίες, όμως οι εξηγήσεις τους συχνά παραμένουν αφηρημένες, γενικές ή ανεπαρκώς συνδεδεμένες με την πραγματική υλοποίηση. Αυτό δημιουργεί πρόβλημα επαλήθευσης: όταν ένας πράκτορας τροποποιεί πολλά αρχεία, ο προγραμματιστής πρέπει να κατανοήσει όχι μόνο τι άλλαξε, αλλά και σε ποιες γραμμές κώδικα βασίζεται κάθε εξήγηση. Ο βασικός στόχος της παρούσας διπλωματικής εργασίας είναι ο σχεδιασμός, η υλοποίηση και η αξιολόγηση ενός εξηγήσιμου βοηθού παραγωγής κώδικα, ο οποίος συνδέει εξηγήσεις φυσικής γλώσσας με συγκεκριμένες γραμμές πηγαίου κώδικα.
Το σύστημα υλοποιήθηκε ως πρόσθετο για το IntelliJ IDEA. Συνδυάζει παραγωγή κώδικα μέσω του Junie CLI με παραγωγή εξηγήσεων, πολλαπλά επίπεδα λεπτομέρειας, δομημένες και μη δομημένες μορφές παρουσίασης, ρητές αντιστοιχίσεις ανάμεσα σε εξηγήσεις και κώδικα, διαδραστική επισήμανση στον επεξεργαστή και προαιρετική εισαγωγή επεξηγηματικών σχολίων στα αρχεία. Η μεθοδολογία περιλαμβάνει δύο κατευθύνσεις αξιολόγησης. Πρώτον, χρησιμοποιείται ένα μικρό σύνολο δεδομένων βασισμένο σε επισημειωμένες υλοποιήσεις του labml.ai, ώστε οι παραγόμενες εξηγήσεις να συγκριθούν με ανθρώπινες παιδαγωγικές εξηγήσεις μέσω μετρικής LLM-as-a-judge. Δεύτερον, ένα ζευγαρωμένο πείραμα βασισμένο στο SWE-bench Verified Mini συγκρίνει κανονικά αποθετήρια με αποθετήρια εμπλουτισμένα με εξηγήσεις σε εργασίες αυτόματης επιδιόρθωσης.
Τα ευρήματα δείχνουν ότι το πρόσθετο μπορεί να δημιουργεί χρήσιμα τεχνουργήματα εξήγησης για ρεαλιστικές ροές εργασίας παραγωγής και επιδιόρθωσης κώδικα. Στην αξιολόγηση ποιότητας εξηγήσεων, η καλύτερη διαμόρφωση OpenAI πέτυχε μέση βαθμολογία 0.786, ενώ η διαμόρφωση Junie πέτυχε 0.752 και έδειξε σταθερή συμπεριφορά στα αξιολογημένα αρχεία. Στο SWE-bench Verified Mini, τα εμπλουτισμένα αποθετήρια έλυσαν 33 από τις 50 εργασίες, σε σύγκριση με 32 από τις 50 στο κανονικό σενάριο. Τα αποτελέσματα δεν αποδεικνύουν στατιστικά σημαντική βελτίωση, αλλά δείχνουν ότι οι θεμελιωμένες εξηγήσεις μπορούν να υποστηρίξουν τον έλεγχο χωρίς να βλάπτουν συστηματικά την απόδοση του πράκτορα. Η εργασία καταλήγει ότι η αντιστοίχιση εξήγησης και κώδικα είναι ιδιαίτερα χρήσιμη ως επίπεδο επαλήθευσης και επιθεώρησης για κώδικα που παράγεται από τεχνητή νοημοσύνη.