The use of static code analysis tools (checkers) is essential in the development of enterprise software projects at Zucchetti S.p.A., but the manual approach is often hindered by report generation times and the difficulty of interpreting potential false positives. This project aims to explore the emerging paradigm of spec-coding, emphasizing process standardization and the automation of verification operations through spec-driven agentic development, starting from a formal and well-defined context (spec) such as that of Zucchetti S.p.A.'s proprietary checkers. This thesis presents the design and implementation of a system based on cooperating AI agents, capable of autonomously identifying the most suitable checkers for a given context and executing them in an automated manner. The system is structured into several components, including an orchestrator agent to define the optimal analysis sequence and an executor agent to automate calls to the proprietary tools. The core of the project consists of a comparative experiment between local, low-parameter (small-scale) AI models and remote, high-parameter models. The primary objective is to evaluate the effectiveness and performance of small-scale models in completing complex tasks, such as interpreting warnings and evaluating reports in relation to the company's internal standard development practices, thereby demonstrating the feasibility of efficient automation based on local LLMs.

L'utilizzo di strumenti per l'analisi statica del codice (checker) è essenziale nello sviluppo di progetti software enterprise dell'azienda Zucchetti S.p.A., ma l'approccio manuale è spesso ostacolato dai tempi di generazione dei report e dalla difficoltà nell'interpretazione di potenziali falsi positivi. Con tale progetto si mira a esplorare l'emergente paradigma dello spec-coding, ponendo enfasi sulla standardizzazione dei processi e sull'automazione delle operazioni di verifica tramite lo sviluppo agentico spec-driven a partire da un contesto formale e ben definito (spec) come quello dei checker proprietari di Zucchetti S.p.A. Questa tesi presenta la progettazione e l'implementazione di un sistema basato su agenti AI cooperanti, in grado di individuare autonomamente i checker più idonei per un determinato contesto ed eseguirli in modalità automatizzata. Il sistema si articola in diverse componenti, tra cui un agente orchestratore per la definizione della sequenza ottimale di analisi e un agente esecutore per l'automazione delle chiamate ai tool proprietari. Il fulcro del progetto consiste in una sperimentazione comparativa tra modelli AI locali a basso numero di parametri (small-scale) e modelli remoti ad alto numero di parametri. L'obiettivo principale è valutare l'efficacia e le performance dei modelli di piccola taglia nel portare a termine task complessi , quali l'interpretazione delle segnalazioni e la valutazione dei report in relazione alle pratiche standard di sviluppo interne all'azienda, dimostrando la fattibilità di un'automazione efficiente basata su LLM locali.

Sistema agentico basato su LLM per l'automazione dell'analisi statica del codice: spec-coding con modelli locali a basso numero di parametri

PASQUAL, FRANCESCO
2025/2026

Abstract

The use of static code analysis tools (checkers) is essential in the development of enterprise software projects at Zucchetti S.p.A., but the manual approach is often hindered by report generation times and the difficulty of interpreting potential false positives. This project aims to explore the emerging paradigm of spec-coding, emphasizing process standardization and the automation of verification operations through spec-driven agentic development, starting from a formal and well-defined context (spec) such as that of Zucchetti S.p.A.'s proprietary checkers. This thesis presents the design and implementation of a system based on cooperating AI agents, capable of autonomously identifying the most suitable checkers for a given context and executing them in an automated manner. The system is structured into several components, including an orchestrator agent to define the optimal analysis sequence and an executor agent to automate calls to the proprietary tools. The core of the project consists of a comparative experiment between local, low-parameter (small-scale) AI models and remote, high-parameter models. The primary objective is to evaluate the effectiveness and performance of small-scale models in completing complex tasks, such as interpreting warnings and evaluating reports in relation to the company's internal standard development practices, thereby demonstrating the feasibility of efficient automation based on local LLMs.
2025
LLM-Based Agentic System for Automated Static Code Analysis: Spec-Coding with Low-Parameter Local Models.
L'utilizzo di strumenti per l'analisi statica del codice (checker) è essenziale nello sviluppo di progetti software enterprise dell'azienda Zucchetti S.p.A., ma l'approccio manuale è spesso ostacolato dai tempi di generazione dei report e dalla difficoltà nell'interpretazione di potenziali falsi positivi. Con tale progetto si mira a esplorare l'emergente paradigma dello spec-coding, ponendo enfasi sulla standardizzazione dei processi e sull'automazione delle operazioni di verifica tramite lo sviluppo agentico spec-driven a partire da un contesto formale e ben definito (spec) come quello dei checker proprietari di Zucchetti S.p.A. Questa tesi presenta la progettazione e l'implementazione di un sistema basato su agenti AI cooperanti, in grado di individuare autonomamente i checker più idonei per un determinato contesto ed eseguirli in modalità automatizzata. Il sistema si articola in diverse componenti, tra cui un agente orchestratore per la definizione della sequenza ottimale di analisi e un agente esecutore per l'automazione delle chiamate ai tool proprietari. Il fulcro del progetto consiste in una sperimentazione comparativa tra modelli AI locali a basso numero di parametri (small-scale) e modelli remoti ad alto numero di parametri. L'obiettivo principale è valutare l'efficacia e le performance dei modelli di piccola taglia nel portare a termine task complessi , quali l'interpretazione delle segnalazioni e la valutazione dei report in relazione alle pratiche standard di sviluppo interne all'azienda, dimostrando la fattibilità di un'automazione efficiente basata su LLM locali.
LLM
Sistema agentico
Spec coding
Analisi statica
Modelli locali
File in questo prodotto:
File Dimensione Formato  
Tesi_Pasqual_Francesco.pdf

accesso aperto

Dimensione 1.63 MB
Formato Adobe PDF
1.63 MB Adobe PDF Visualizza/Apri

The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12608/111054