Λογότυπο αποθετηρίου
 

Αξιοποίηση μεγάλων γλωσσικών μοντέλων για την αναδόμηση λογισμικού

Μικρογραφία εικόνας

Ημερομηνία

2026-02-26

Τίτλος Εφημερίδας

Περιοδικό ISSN

Τίτλος τόμου

Εκδότης

Επιβλέπων / ουσα

Διαθέσιμο από

Περίληψη

Η εσωτερική δομή των συστημάτων λογισμικού συχνά υποβαθμίζεται καθώς αυτά εξελίσσονται, με αποτέλεσμα μειωμένη συνεκτικότητα, αυξημένη σύζευξη και αυξημένο κόστος συντήρησης. Μία βασική μέθοδος για τη βελτίωση της ποιότητας σχεδίασης είναι η αναδόμηση κώδικα, και ειδικότερα η τεχνική Extract Class. Παρότι τα παραδοσιακά εργαλεία στατικής ανάλυσης παρέχουν αυτοματοποιημένη υποστήριξη για τον εντοπισμό ευκαιριών αναδόμησης, βασίζονται σε προκαθορισμένες ευρετικές μεθόδους και συχνά αποτυγχάνουν να αποτυπώσουν βαθύτερο σημασιολογικό νόημα. Παράλληλα, οι πρόσφατες εξελίξεις στα Μεγάλα Γλωσσικά Μοντέλα εμφανίζουν προοπτικές για την κατανόηση και τον μετασχηματισμό κώδικα, ωστόσο η αποτελεσματικότητά τους εξαρτάται σε μεγάλο βαθμό από την ποιότητα του παρεχόμενου περιβάλλοντος εισόδου. Η παρούσα εργασία διερευνά κατά πόσο ο εμπλουτισμός των prompts των LLM με δομημένο πλαίσιο στατικής ανάλυσης μπορεί να βελτιώσει την ποιότητα της αναδόμησης τύπου Extract Class. Υλοποιείται ένα επίπεδο εξαγωγής context στο εργαλείο JDeodorant για την καταγραφή δομικών εξαρτήσεων, αλληλεπιδράσεων και μετρικών που σχετίζονται με τη συνεκτικότητα, τα οποία μετασχηματίζονται σε αναπαραστάσεις κατάλληλες για prompts. Μια εμπειρική αξιολόγηση συγκρίνει αναδόμηση βασισμένη σε LLM με και χωρίς πλαίσιο έναντι παραδοσιακών προσεγγίσεων βασισμένων σε στατική ανάλυση σε σύγχρονα έργα ανοικτού κώδικα που δεν περιλαμβάνονται στα δεδομένα εκπαίδευσης των LLM. Τα αποτελέσματα δείχνουν ότι οι προτροπές με εμπλουτισμένο πλαίσιο οδηγούν σε πιο συνεπείς και υψηλότερης ποιότητας διασπάσεις κλάσεων, αναδεικνύοντας τη δυναμική υβριδικών προσεγγίσεων που συνδυάζουν στατική ανάλυση με συλλογιστική βασισμένη σε LLM.
Software systems' internal structure frequently deteriorates as they develop, resulting in less cohesiveness, increased coupling, and increased maintenance expenses. One essential method for improving design quality is refactoring, and specifically the Extract Class technique. Although they rely on set heuristics and frequently fall short of capturing deeper semantic meaning, traditional static analysis tools offer automatic support for detecting refactoring opportunities. Although recent developments in Large Language Models (LLMs) hold promise for understanding and transforming code, their efficacy is highly dependent on the quality of the input environment.This thesis investigates whether enriching LLM prompts with structured static-analysis context can improve the quality of Extract Class refactoring. A context extraction layer is implemented within JDeodorant to capture structural dependencies, interactions, and cohesion-related metrics, which are transformed into prompt-ready representations using template-based prompt engineering. An empirical evaluation compares LLM-based refactoring with and without context against traditional static-analysis-driven approaches on contemporary open-source projects not included in LLM training data. The results indicate that context-enriched prompts lead to more consistent and higher-quality class decompositions, demonstrating the potential of hybrid approaches that combine static analysis with LLM-based reasoning.

Περιγραφή

Λέξεις-κλειδιά

Software refactoring, Large Language Models (LLMs), Static code analysis, Αναδόμηση λογισμικού, Μεγάλα γλωσσικά μοντέλα, Στατική ανάλυση κώδικα

Παραπομπή