UNIVERSITÀ DEGLI STUDI DEL MOLISE Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica TESI DI LAUREA IN LABORATORIO DI INGEGNERIA DEL SOFTWARE Tecniche di ricerca semantica a supporto del recupero di link di tracciabilità tra artefatti software Relatore Chiar.mo Prof. Rocco Oliveto ANNO ACCADEMICO 2009/2010 Candidato Stefano Ricchiuti 130771 Contesto Applicativo percorso evolutivo di un software • percorso complesso • non si limita alla sola progettazione • produce un insieme di documenti (repository) • ciclico, possibilità di evoluzioni future Contesto Applicativo introduzione di modifiche repository Il repository degli artefatti, risultante dal processo di sviluppo, è un insieme di documenti, diagrammi ed elaborati dipendenti tra loro. Introdurre una modifica o una nuova funzionalità, potrebbe coinvolgere uno o più artefatti già integrati nel sistema Contesto Applicativo recupero della tracciabilità Per introdurre modifiche, è necessario individuare i collegamenti che intercorrono tra tutti i documenti dell’insieme. Funzionalità: Login * login.java I collegamenti tra i documenti sono dipendenze di varia natura che prendono il nome di link di tracciabilità. Il processo di individuazione di tutti il link è detto recupero della tracciabilità. Test case : Login Motivazioni gestione della tracciabilità AMBITI DI APPLICAZIONE CRITICITÀ • Program Comprehension • Elevato numero di link • Manutenzione • Costante aggiornamento • Requirements tracing • I link vanno riconsiderati • Impact analysis dopo ogni modifica • Riuso del codice NECESSITÀ DI AUTOMAZIONE Motivazioni Information Retrieval e tracciabilità La maggior parte dei documenti È possibile applicare relativi ad un software sono tecniche di Information costituiti da testo. Retrieval. Information Retrieval parole chiave Gestione tracciabilità INPUT Artefatto source Documenti rilevanti OUTPUT Artefatti target Motivazioni metodi IR vettoriali I metodi con modello vettoriale sono tra i più utilizzati ed efficaci • documenti rappresentati come vettori • angolo tra i vettori come misura della somiglianza • il significato e numero delle dimensioni dipendono dal metodo Motivazioni il metodo Latent Semantic Indexing (LSI) LSI è un metodo di IR vettoriale che considera legami semantici tra termini e documenti, e a differenza dei tradizionali metodi: • risolve i problemi di polisemia e sinonimia • spazio di indicizzazione semantico (struttura semantica latente) • le dimensioni dello spazio corrispondono a dei «concetti» estratti dall’insieme dei documenti INCOGNITA = NUMERO DI CONCETTI DA ESTRARRE Obiettivi obiettivi della tesi Il numero di dimensioni dello spazio di indicizzazione (indicato con k) influenza le prestazioni del metodo LSI e non è noto a priori Obiettivo DUPLICE: 1) Osservare in che modo il valore di k influenza le prestazioni nel recupero della tracciabilità del metodo LSI 2) Stabilire un’euristica per individuare un corretto valore di k Obiettivi test effettuati EASY CLINIC: eTOUR: • 30 casi d’uso • 58 casi d’uso • 20 interaction diagrams • 116 artefatti codice sorgente • 63 casi di test • 364 link di tracciabilità • 37 artefatti codice sorgente • 93 link di tracciabilità Applicazione del metodo LSI per il recupero della tracciabilità con tutti i possibili valori di k e calcolo delle prestazioni. Obiettivi risultati della sperimentazione average precision code artefacts - use cases average precision 0.24 Generalmente, le prestazioni del metodo 0.22 migliorano all’aumentare di k, fino a 0.2 0.18 stabilizzarsi sul valore corrispondente alle 0.16 0.14 prestazioni migliori 0.12 0 10 20 30 40 50 60 70 80 90 100 k - % of r singular values code artefacts - use cases Osservando l’importanza dei concetti che il 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 metodo LSI estrae dai documenti, è possibile individuare il valore di k che corrisponde al punto di stabilizzazione 0 10 20 30 40 50 k - % of r 60 70 80 90 100 Conclusioni risultati ed obiettivi raggiunti È sempre possibile individuare il punto di stabilizzazione delle prestazioni del metodo LSI applicato al recupero della tracciabilità tra artefatti software. Il corrispondente valore di k è anche nella maggior parte dei casi, il valore che fornisce le prestazioni migliori, mentre nei casi in cui ciò non si verifica, indica il limite superiore del numero concetti da estrarre, oltre il quale le prestazioni non cambiano. Sviluppi futuri possibili estensioni del lavoro svolto • eseguire la stessa sperimentazione su basi di dati più ampie e con caratteristiche diverse, verificando che i risultati siano confrontabili con quelli precedenti • Applicare le stesse considerazioni nell’ambito dell’Information Retrieval • Analizzare i casi in cui le prestazioni hanno una variazione anomala con un massimo non determinabile con l’osservazione dell’importanza dei concetti indicizzati