Skip to content

Test strutturale di programmi procedurali e orientati agli oggetti, sequenziali e concorrenti

Il Test di unità, nello sviluppo di un sistema software, rappresenta il primo stadio del processo di test. Obiettivo del test è la prevenzione e la rilevazione dei difetti (faults)che determinano le deviazioni del programma dal comportamento atteso. In questa tesi l'obiettivo di rilevare difetti in ogni modulo costituente il sistema viene raggiunto attraverso l'analisi dei possibili cammini di esecuzione associati al flusso dati effettuando il test def-use, che consiste nella verifica di copertura delle catene definizione-uso del programma in esame. Scopo della tesi è la valutazione del test def-use nella rilevazione dei difetti logici presenti in moduli procedurali (C) e concorrenti (Java) con l'impiego del programma DefUseChecker appositamente implementato. I risultati raggiunti rivelano l'efficacia del test def-use nella rilevazione dei difetti logici, come i controlli ridondanti nei programmi procedurali e la potenzialità espressa dall'inserimento degli Interleavings-Control nella individuazione di errori di sincronizzazione nei programmi concorrenti.

CONSULTA INTEGRALMENTE QUESTA TESI

La consultazione è esclusivamente in formato digitale .PDF

Acquista
Mostra/Nascondi contenuto.
Introduzione Indipendentemente dalle tecniche di sviluppo usate non è mai possibile assumere che il software sia corretto e di conseguenza deve essere verificato. Obiettivo del test è la prevenzione e la rilevazione dei difetti (faults) che determinano le deviazioni del programma dal comportamento atteso [8]. Nel I° capitolo di questa tesi viene definito il test strutturale per programmi procedurali. Il test strutturale, detto anche white-box testing, consiste nell’esame della struttura interna di un programma per la valutazione del grado di copertura di determinati costrutti, come ad esempio la copertura delle istruzioni e dei cammini. In particolare, il test data-flow è un metodo di test strutturale, progettato per verificare le unità, basato sulla selezione dei cammini associati al flusso dati del programma. Vengono utilizzate le catene definizione- uso del programma per condurre la selezione dei casi di test. Una catena definizione-uso (d,u,v) associata alla variabile v consiste di un nodo sorgente contenente una definizione d di v, un nodo destinazione contenente l’uso u di v e la variabile v stessa, tale per cui la definizione di v alla sorgente possa raggiungere la destinazione senza che lungo il cammino v sia ridefinita. Per programmi procedurali, nel II° capitolo, è stato affrontato il test def-use, che consiste nella verifica di copertura delle catene definizione-uso del programma. Scopo della tesi è la valutazione dell’efficacia del test def-use nella rilevazione dei difetti logici. Le informazioni definizione-uso necessarie sono state ottenute con lo strumento d’analisi di flusso FLANT (FLow ANalysis Tool [2] e [3]), mentre le tracce dei cammini di esecuzione sono state generate tramite il gdb (GNU debugger). La verifica di copertura delle catene definizione-uso (d,u,v), effettuata dal programma DefUseChecker, viene svolta cercando nelle tracce un cammino libero da ridefinizioni di v da d a u per ogni variabile v. Il test def-use è stato effettuato su 9 programmi procedurali di dominio pubblico. La percentuale di copertura delle catene raggiunta tramite i casi di test generati varia da un minimo del 17,9% ad un massimo del 100%. I motivi di una così ampia oscillazione sono illustrati al punto 2.4. Il motivo principale che permette solo una copertura parziale delle catene definizione-uso consiste nella presenza di infeasible-paths: esistono cioè cammini di flusso da d a u per una variabile v in cui le condizioni logiche che lo rendono percorribile sono mutuamente esclusive o non possono essere mai verificate. Nel III° capitolo vengono presentate le tecniche di test per la programmazione orientata agli oggetti. Contrariamente alla intuizione i metodi tradizionali di test non possono essere applicati direttamente a programmi orientati agli oggetti; infatti gli aspetti propri della natura del paradigma orientato agli oggetti quali l’ereditarietà e il polimorfismo introducono problemi non presenti nel software procedurale. L’information-hiding e l’attenzione posta nei sistemi orientati agli oggetti all’astrazione aprono la strada al test funzionale ([6] e [20]); tuttavia il test strutturale, che costituisce una strategia complementare al test funzionale, continua a rivestire una notevole importanza [19]. Le tecniche di test funzionali e strutturali possono individuare errori che sono locali ad un metodo di una classe, ma non sono sempre adatti ad individuare difetti dovuti alle interazioni tra metodi. Nasce così la necessità di un test basato sullo stato dell’oggetto ([10], [11], [35], [36] e [37]). Nel IV° capitolo viene affrontato il test di programmi concorrenti e in particolare il test strutturale di programmi paralleli a memoria condivisa ([30], [31] e [32]).

CONSULTA INTEGRALMENTE QUESTA TESI

La consultazione è esclusivamente in formato digitale .PDF

Acquista
Il miglior software antiplagio

L'unico servizio antiplagio competitivo nel prezzo che garantisce l'aiuto della nostra redazione nel controllo dei risultati.
Analisi sicura e anonima al 100%!
Ottieni un Certificato Antiplagio dopo la valutazione.

Informazioni tesi

  Autore: Simone Laico
  Tipo: Tesi di Laurea
  Anno: 1998-99
  Università: Università degli Studi di Padova
  Facoltà: Ingegneria
  Corso: Ingegneria Informatica
  Relatore: Franco Bombi
  Lingua: Italiano
  Num. pagine: 112

FAQ

Per consultare la tesi è necessario essere registrati e acquistare la consultazione integrale del file, al costo di 29,89€.
Il pagamento può essere effettuato tramite carta di credito/carta prepagata, PayPal, bonifico bancario.
Confermato il pagamento si potrà consultare i file esclusivamente in formato .PDF accedendo alla propria Home Personale. Si potrà quindi procedere a salvare o stampare il file.
Maggiori informazioni
Ingiustamente snobbata durante le ricerche bibliografiche, una tesi di laurea si rivela decisamente utile:
  • perché affronta un singolo argomento in modo sintetico e specifico come altri testi non fanno;
  • perché è un lavoro originale che si basa su una ricerca bibliografica accurata;
  • perché, a differenza di altri materiali che puoi reperire online, una tesi di laurea è stata verificata da un docente universitario e dalla commissione in sede d'esame. La nostra redazione inoltre controlla prima della pubblicazione la completezza dei materiali e, dal 2009, anche l'originalità della tesi attraverso il software antiplagio Compilatio.net.
  • L'utilizzo della consultazione integrale della tesi da parte dell'Utente che ne acquista il diritto è da considerarsi esclusivamente privato.
  • Nel caso in cui l’utente che consulta la tesi volesse citarne alcune parti, dovrà inserire correttamente la fonte, come si cita un qualsiasi altro testo di riferimento bibliografico.
  • L'Utente è l'unico ed esclusivo responsabile del materiale di cui acquista il diritto alla consultazione. Si impegna a non divulgare a mezzo stampa, editoria in genere, televisione, radio, Internet e/o qualsiasi altro mezzo divulgativo esistente o che venisse inventato, il contenuto della tesi che consulta o stralci della medesima. Verrà perseguito legalmente nel caso di riproduzione totale e/o parziale su qualsiasi mezzo e/o su qualsiasi supporto, nel caso di divulgazione nonché nel caso di ricavo economico derivante dallo sfruttamento del diritto acquisito.
L'obiettivo di Tesionline è quello di rendere accessibile a una platea il più possibile vasta il patrimonio di cultura e conoscenza contenuto nelle tesi.
Per raggiungerlo, è fondamentale superare la barriera rappresentata dalla lingua. Ecco perché cerchiamo persone disponibili ad effettuare la traduzione delle tesi pubblicate nel nostro sito.

Scopri come funziona »

DUBBI? Contattaci

Contatta la redazione a
[email protected]

Ci trovi su Skype (redazione_tesi)
dalle 9:00 alle 13:00

Oppure vieni a trovarci su

Parole chiave

test strutturale

Non hai trovato quello che cercavi?


Abbiamo più di 45.000 Tesi di Laurea: cerca nel nostro database

Oppure consulta la sezione dedicata ad appunti universitari selezionati e pubblicati dalla nostra redazione

Ottimizza la tua ricerca:

  • individua con precisione le parole chiave specifiche della tua ricerca
  • elimina i termini non significativi (aggettivi, articoli, avverbi...)
  • se non hai risultati amplia la ricerca con termini via via più generici (ad esempio da "anziano oncologico" a "paziente oncologico")
  • utilizza la ricerca avanzata
  • utilizza gli operatori booleani (and, or, "")

Idee per la tesi?

Scopri le migliori tesi scelte da noi sugli argomenti recenti


Come si scrive una tesi di laurea?


A quale cattedra chiedere la tesi? Quale sarà il docente più disponibile? Quale l'argomento più interessante per me? ...e quale quello più interessante per il mondo del lavoro?

Scarica gratuitamente la nostra guida "Come si scrive una tesi di laurea" e iscriviti alla newsletter per ricevere consigli e materiale utile.


La tesi l'ho già scritta,
ora cosa ne faccio?


La tua tesi ti ha aiutato ad ottenere quel sudato titolo di studio, ma può darti molto di più: ti differenzia dai tuoi colleghi universitari, mostra i tuoi interessi ed è un lavoro di ricerca unico, che può essere utile anche ad altri.

Il nostro consiglio è di non sprecare tutto questo lavoro:

È ora di pubblicare la tesi