Generazione Automatica di Asserzioni da Modelli di Specifica



Похожие документы
La progettazione centrata sull utente nei bandi di gara

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

GESTIONE AVANZATA DEI MATERIALI

PROGETTO TECNICO SISTEMA DI GESTIONE QUALITA IN CONFORMITÀ ALLA NORMA. UNI EN ISO 9001 (ed. 2008) n. 03 del 31/01/09 Salvatore Ragusa

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Automazione Industriale (scheduling+mms) scheduling+mms.

della manutenzione, includa i requisiti relativi ai sottosistemi strutturali all interno del loro contesto operativo.

REFERENZIAZIONI 2001) NUP

Progetto. Portale Turistico Regionale. Andrea Polini, Oliviero Riganelli, Massimo Troiani. Ingegneria del Software Corso di Laurea in Informatica

Progettaz. e sviluppo Data Base

Gestione Turni. Introduzione

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Progetto PI , passo A.1 versione del 14 febbraio 2007

L apposizione di firme e informazioni su documenti firmati

Object Oriented Software Design

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

Appendice III. Competenza e definizione della competenza

1. BASI DI DATI: GENERALITÀ

11. Evoluzione del Software

Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione. Facoltà di Ingegneria

UNI EN ISO 9001:2008 Sistemi di Gestione per la Qualità: requisiti e guida per l uso

REALIZZAZIONE DI UN LABORATORIO REMOTO PER ESPERIENZE DI ROBOTICA EDUCATIVA: LATO CLIENT

Classe IV Matematica Scuola primaria

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

Innovazione didattica in matematica: PP&S su piattaforma e-learning in ambiente di calcolo evoluto

Piano di gestione della qualità

MANUALE DELLA QUALITÀ SIF CAPITOLO 08 (ED. 01) MISURAZIONI, ANALISI E MIGLIORAMENTO

Database. Si ringrazia Marco Bertini per le slides

7.2 Controlli e prove

12. Evoluzione del Software

fit-up), cioè ai problemi che si verificano all atto dell assemblaggio quando non si riescono a montare i diversi componenti del prodotto o quando il

Design patterns in Java

Corso di Informatica

PowerSchedo. Un sistema di supporto alla decisione nel settore dell'oil&gas. For further information:

Tesi di Laurea Automazione del testing delle Interfacce utente di applicazioni WEB:

Norme per l organizzazione - ISO serie 9000

Attività federale di marketing

Introduzione alla Programmazione Orientata agli Oggetti. Classi, Oggetti e Messaggi

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto)

Indice. Indice Premessa e scopo del documento Ambiente operativo Architettura di sistema... 5

Il partner per la gestione delle Risorse Umane

In legenda sono riportate le fasi R, P, C/T e I/SA come specificato nella norma ISO/IEC

MINISTERO DELL ISTRUZIONE, DELL UNIVERSITÀ E DELLA RICERCA Comitato nazionale per la valutazione del sistema universitario

REGOLAMENTO SUL TRATTAMENTO DEI DATI PERSONALI

Progetto Atipico. Partners

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

SCHEDA PRODOTTO PAG. 1 J O B T I M E W F. Variazioni mensili al cartellino presenze. Versione 6.1. JOBTIME Work Flow

ISO/IEC : 2005 per i Laboratori di Prova

Progetto Campo Base. Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

COMUNE DI MARIGLIANO Provincia di Napoli REGOLAMENTO PER L INSTALLAZIONE E LA GESTIONE DEGLI IMPIANTI DI VIDEOSORVEGLIANZA

COMPETENZE IN ESITO (5 ANNO) ABILITA' CONOSCENZE

GESTIONE AVANZATA DEI MATERIALI

EXPLOit Content Management Data Base per documenti SGML/XML

Gestione in qualità degli strumenti di misura

La gestione della qualità nelle aziende aerospaziali

Ciclo di vita dimensionale

GESTIONE DELLA QUALITÀ DELLE FORNITURE DI BENI E SERVIZI

REGOLAMENTO INTERNO DEL CONTROLLO DI GESTIONE

Base di dati e sistemi informativi

RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

Realizzazione di un Tool per l iniezione automatica di difetti all interno di codice Javascript

xmlegeseditor un editore open-source per la redazione di testi normativi

database: modello entityrelationship

Sito web per la presentazione e l accesso ai servizi di Ruven integrato con la piattaforma B2B del pacchetto software ERP Stratega.NET.

AUDIT. 2. Processo di valutazione

Uno strumento per la valutazione automatica dell accessibilità delle

Anno scolastico 2015 / Piano di lavoro individuale. ITE Falcone e Borsellino. Classe: IV ITE. Insegnante: DEGASPERI EMANUELA

PREDICTIVE ANALYTICS A CA FOSCARI Proposta di un nuovo Corso di Laurea Magistrale

63 7. Quale geometria per la computer grafica? L omografia e l affinità nella digitalizzazione e georeferenziazione

vendite Come organizzare le informazioni Il Customer Relationship Management nelle Istituzioni Finanziarie Europe

ali e non funzionali con priorità (high, medium, low) Use Case con un Activity Diagram o uno State Diagr ram

DATI IDENTIFICATIVI CEI COLLEGAMENTI/RELAZIONI TRA DOCUMENTI INFORMAZIONI EDITORIALI 3680 C:

MANUALE DELLA QUALITÀ Pag. 1 di 6

Manufacturing Execution System. Controllo Avanzamento Produzione. in tempo reale

Programmare in ambiente Java Enterprise: l offerta formativa di Infodue

Aris TimeSheet. che guardano oltre. enti e aziende. Soluzioni per

Strumenti per la gestione della configurazione del software

Il Test d ingresso per la Facoltà à di Scienze. PISA 3 dicembre 2008

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Alla c.a. Sindaco/Presidente Segretario Generale Dirigente competente

ACQUISIZIONE DATI DI PRODUZIONE SISTEMA PDA

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Aree di impatto per considerazioni da parte del cliente Tratte dalle Regole per ottenere il riconoscimento IATF

I SISTEMI DI GESTIONE DELLA SALUTE E SICUREZZA SUL LAVORO: OHSAS AV2/07/11 ARTEMIDE.

La manutenzione come elemento di garanzia della sicurezza di macchine e impianti

FIRESHOP.NET. Gestione completa degli ordini e degli impegni. Rev

La norma ISO 9001:08 ha apportato modifiche alla normativa precedente in

Project Cycle Management

Sviluppo di processi per l automatizzazione del testing per applicazioni Android

Politecnico di Bari Corso di Laurea Specialistica in Ingegneria Informatica A.A Casi di Studio. Traccia n 1

CARATTERISTICHE DEL PERSONALE DEFINITO DALLA NORMA CEI EN

Più processori uguale più velocità?

Транскрипт:

UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore: Mauro Pezzè Correlatore: Jochen Wuttke Tesi di Laurea di: Mauro Baluda Matr. 038208 tel. 035/301767 Anno Accademico 2008/2009

Abstract L individuazione di nuove tecniche per la rilevazione automatica di malfunzionamenti è importante per la verifica a run time di software complessi, è in particolare un tassello indispensabile per la realizzazione di sistemi self-healing. L analisi di malfunzionamenti in software di largo utilizzo ha permesso di riconoscere in molti di essi violazioni di proprietà strutturali ricorrenti definibili a livello di modelli di specifica. La tesi descrive una metodologia che consente di generare automaticamente il codice eseguibile per la verifica di tali proprietà, un prototipo della sua implementazione utilizzabile all intero di sistemi di sviluppo esistenti, una valutazione di tale prototipo che ne conferma l applicabilità in situazioni reali di sviluppo. 1 Scopo della tesi L utilizzo delle tecniche più avanzate di verifica e validazione del software permette di migliore la qualità dei prodotti software sviluppati ma non garantisce dalla presenza di malfunzionamenti che possono perciò manifestarsi nella fase successiva al loro rilascio. La possibilità di ottenere una rilevazione precisa di questi eventi durante l esecuzione del sistema può consentire agli utenti di evitare le condizioni che li scatenano, segnalarne la presenza agli sviluppatori o ottenere dal sistema stesso una reazione che metta in campo strategie di autocorrezione più o meno sofisticate. La tesi descrive e valuta l efficacia di una nuova metodologia per la rilevazione di difetti funzionali in sistemi software ad oggetti. La tecnica proposta consente di definire proprietà a livello di modellazione strutturale del software e di verificarne automaticamente il rispetto nel prodotto finito. 2 Metodologia studiata Per supportare gli sviluppatori nella rilevazione di malfunzionamenti nei loro sistemi software, proponiamo una metodologia che consente la definizione di un legame preciso tra proprietà invarianti di alto livello identificabili nelle specifiche del sistema e il codice eseguibile che ne verifica la validità durante l esecuzione. La tecnica permette, a partire dall annotazione di un modello anche parziale del sistema, di generare automaticamente i rilevatori adatti sotto forma di asserzioni in linea, pronti per essere messi direttamente in esecuzione. 1

Il metodo proposto è adatto ad essere adottato nel contesto di sistemi software orientati agli oggetti e presenta caratteristiche che lo avvicinano alle metodologie definite nell ambito della Model Driven Architecture, in particolare il tentativo di rendere la fase di modellazione di un sistema parte integrante della sua implementazione finale grazie all ingente impiego di tecniche di generazione automatica del codice. Descriviamo in tre passi come sia possibile trasformare proprietà astratte, estratte dai requisiti del sistema, nel codice eseguibile che le verifica: 1. Estrazione di informazioni dalle specifiche: L estrazione di informazioni da requisiti informali è un attività che non può essere automatizzata facilmente e che prevede da parte del progettista l individuazione di proprietà inviarianti del sistema di cui si voglia ottenere il monitoraggio durante l esecuzione. 2. Annotazione del modello strutturale: L annotazione di un modello permette di tradurre le proprietà individuate informalmente al punto precedente in un formato che possa essere manipolato automaticamente. 3. Definizione del legame tra proprietà e codice sorgente: Si definisce nel dettaglio ed in maniera dipendente dalla piattaforma su cui si vuole operare, come le informazioni disponibili nel modello possano essere utilizzate per la creazione di un rilevatore di malfunzionamenti specifico. Sarà necessario indicare quali modifiche al codice sorgente da monitorare debbano essere introdotte attraverso la realizzazione di rilevatori generici (template) istanziabili con i dati estratti dal modello. 3 Realizzazione di un prototipo Per dimostrare l applicabilità del metodo abbiamo realizzato un prototipo che automatizza la produzione dei rilevatori di malfunzionamenti legati al mancato rispetto di alcune proprietà che abbiamo individuato in software di largo utilizzo. Il prototipo prodotto si concretizza in un plugin per l ambiente di sviluppo Eclipse che supporta l applicazione del metodo proposto a casi reali, in particolare permette la definizione delle proprietà su modelli UML e da questi la generazione di rilevatori in linguaggio AspectJ adatti a monitorare software Java. Il prototipo ha evidenziano nel suo funzionamento alcuni punti di forza: 2

non richiede la modellazione completa del sistema ma solo la presenza degli elementi necessari alla definizione delle proprietà desiderate non richiede la disponibilità del codice sorgente del sistema da monitorare ma soltanto delle sue specifiche funzionali una singola annotazione nel modello può produrre diversi rilevatori anche operanti in parti diverse del sistema il sistema permette l annotazione di modelli preesistenti con strumenti standard generalmente già conosciuti dai progettisti come gli editor grafici per diagrammi UML può essere integrato all interno di strumenti di sviluppo standard e largamente utilizzati in ambito industriale come Eclipse 4 Verifica sperimentale La valutazione dell applicabilità della metodologia analizzata è stata portata a termine attraverso il testing estensivo del prototipo realizzato. In particolare abbiamo mostrato di poter realizzare dei rilevatori per alcuni malfunzionamenti noti nel software Tomcat, implementazione di riferimento per le tecnologie JSP e Servlet. La verifica è consistita nel modellare le classi coinvolte nei malfunzionamenti ed annotarle con le proprietà che ritenevamo non fossero rispettate. Utilizzando il nostro prototipo abbiamo ottenuto da questo modello in modo completamente automatico i rilevatori desiderati che hanno segnalato, come atteso, i difetti prima che portassero ad uno stato inconsistente dell applicazione. 5 Conclusioni Il Lavoro di tesi si proponeva lo studio e la validazione di un metodo per la rilevazione di difetti funzionali fortemente automatizzato ed in grado di fornire dettagli sui problemi rilevati sufficienti per la loro diagnosi ed eventuale successiva correzione. La tecnica proposta permette la definizione di vincoli a livello di modellazione strutturale e descrive i passi necessari per ottenere da un modello opportunamente annotato i rilevatori eseguibili senza necessità di intervento manuale. 3

La tecnica si presta ad essere applicata alla verifica di proprietà molto diverse tra loro, la loro identificazione e definizione apre un ambito di ricerca che potrebbe rivelarsi fertile. 4