Automazione della tracciabilità dei test in Java e stima euristica dell’integrazione tramite bytecode

Lombardi, Antonio (2025) Automazione della tracciabilità dei test in Java e stima euristica dell’integrazione tramite bytecode. [Laurea], Università di Bologna, Corso di Studio in Informatica per il management [L-DM270], Documento ad accesso riservato.
Documenti full-text disponibili:
[thumbnail of Thesis] Documento PDF (Thesis)
Full-text accessibile solo agli utenti istituzionali dell'Ateneo
Disponibile con Licenza: Salvo eventuali più ampie autorizzazioni dell'autore, la tesi può essere liberamente consultata e può essere effettuato il salvataggio e la stampa di una copia per fini strettamente personali di studio, di ricerca e di insegnamento, con espresso divieto di qualunque utilizzo direttamente o indirettamente commerciale. Ogni altro diritto sul materiale è riservato

Download (674kB) | Contatta l'autore

Abstract

Questa tesi presenta la progettazione e lo sviluppo di una pipeline in due componenti per l’analisi dei test Java: repo-manager e analyzer. La motivazione nasce dalla difficoltà, frequente nella pratica, di distinguere nettamente tra unit e integration test: condividono strumenti e pattern, per cui le etichette “intenzionali” risultano poco affidabili. La soluzione evita classificazioni a priori e punta su indizi osservabili e segnali spiegabili utili a valutazioni future. repo-manager costruisce un campione riproducibile di repository Maven a partire da GitHub: esegue clonazione, warm-up delle dipendenze e build offline, quindi separa i progetti compilati con successo da quelli esclusi, tracciandone le motivazioni. analyzer prende in ingresso i moduli compilati, individua i metodi annotati JUnit 4/5 e, sul call graph del test (CHA con potatura delle librerie), estrae euristiche centrate sul codice: classe focale basata sul nome, produttori nelle asserzioni, distribuzione delle chiamate dirette, uso dei mock. Per ogni test genera un record JSONL con candidati, confidence, rationale e meta-informazioni. L’architettura è estendibile: le euristiche sono al centro e la fase di combinazione è pluggable. Si discutono le principali limitazioni (analisi statica, precisione di CHA, focus su Maven) e le possibili evoluzioni: supporto Gradle, DSL fluenti come AssertJ, PowerMock/Kotlin, grafi delle chiamate più precisi o ibridi. L’obiettivo non è una classificazione definitiva, ma la produzione di dati riusabili e auditabili a supporto di analisi e classificazioni future.

Abstract
Tipologia del documento
Tesi di laurea (Laurea)
Autore della tesi
Lombardi, Antonio
Relatore della tesi
Scuola
Corso di studio
Ordinamento Cds
DM270
Parole chiave
Java,Automazione,Euristiche,Bytecode,Software testing
Data di discussione della Tesi
29 Ottobre 2025
URI

Altri metadati

Statistica sui download

Gestione del documento: Visualizza il documento

^