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
Scarica

Contesto Applicativo