• Non ci sono risultati.

CoordinatoreProf.RobertoScarpaTutorProf.AndreaDeLuciaAprile2014 AnnibalePanichella Search-BasedSoftwareMaintenanceandTesting Universit´adegliStudidiSalernoDipartimentodiStudieRicercheAziendaliDottoratodiRicercainScienzeeTecnologogiadell’Informazione,deiSi

N/A
N/A
Protected

Academic year: 2021

Condividi "CoordinatoreProf.RobertoScarpaTutorProf.AndreaDeLuciaAprile2014 AnnibalePanichella Search-BasedSoftwareMaintenanceandTesting Universit´adegliStudidiSalernoDipartimentodiStudieRicercheAziendaliDottoratodiRicercainScienzeeTecnologogiadell’Informazione,deiSi"

Copied!
4
0
0

Testo completo

(1)

Universit´ a degli Studi di Salerno

Dipartimento di Studi e Ricerche Aziendali

Dottorato di Ricerca in Scienze e Tecnologogia dell’Informazione, dei Sistemi Complessi e dell’Ambiente

XII Ciclo

Abstract della tesi di dottorato in

Software Engineering

Search-Based Software Maintenance and Testing

Annibale Panichella

Coordinatore

Prof. Roberto Scarpa

Tutor

Prof. Andrea De Lucia

Aprile 2014

(2)
(3)

Abstract

Durante il processo di sviluppo e manutenzione del software, l’ingegnere del software `e chiamato ad effettuare un insieme di operazioni complesse e costose. Per tali ragioni, diversi ricercatori hanno suggerito di automatizzare tali processi con lo scopo di ridurre sensibilmente il costo di sviluppo e manutenzione del software, dal momento che l’automazione richiede un minore intervento da parte dell’uomo. Uno dei modi pi`u utilizzati in letteratura per realizzare tale automazione `e il Search-Based Software Engineering (SBSE), che consiste nel riformulare problemi tradizionali di ingegneria del software come problemi di ottimizzazione. In SBSE l’insieme di tutte le possibili soluzioni ad un dati problema ne definiscono lo spazio di ricerca (o la regione ammissibile) mentre una funzione di fitness `e utilizzate per differenziare le varie soluzioni e fornire una guida al processo di ottimizzazione. Una volta riformulato un problema di ingegneria del software come problema di ottimizzazione, algoritmi di ricerca o ottimizzazione possono essere utilizzati per risolvere tale problema. In letteratura sono state proposti ed utilizzati diversi algoritmi di ottimizzazione, come ad esempio algoritmi genetici, genetic programming, simulated annealing, hill climbing (gradient descent), greedy algorithms, particle swarm and ant colony.

La presente tesi investiga e propone l’utilizzo di approcci search-based con lo scopo di ridurre il costo di manutenzione e testing del software, ponendo particolare attenzione a quattro attivit`e principali: (i) comprensione del codice, (ii) predizione dei difetti, (iii) generazione automatica dei casi di test, e (iv) ottimizzazione della test suite per il testing di regressione. Per le prime due attivit`e (comprensione del codice e predizione dei difetti) la presente tesi fornisce una loro prima riformulazione come problemi di ottimizzazione e propone l’utilizzo di Algoritmi Genetici (GA) per risolverli. Nello specifico, la tesi analizza le peculiarit`e del codice sorgente rispetto a documenti testuali scritti in linguaggio naturale, e propone l’utilizzo di algoritmi genetici (GA) per calibrare in modo automatico le tecniche di Information Retrieval (IR) a supporto di diversi task di manutenzione del software. La tesi, inoltre, analizza e propone l’utilizzo di Algoritmi Genetici Multi-Obiettivo (MOGA) per costruire modelli di predizione dei difetti multi-obiettivo che tengano in considerazione, durante il processo di predizione, delle contrastanti esigenze pratiche dell’ingegnere del software.

Le attivit`e di (i) generazione automatica dei casi di test e (ii) ottimizzazione della test suite sono state ampliamente studiate utilizzando approcci search-based. Tuttavia, nonostante l’ampia letteratura a riguardo, entrambe le attivit`e presentano diverse problematiche e una loro riformu- lazione come problemi di ottimizzazione non sempre fornisce le prestazioni attese. Il successo di algoritmi di ottimizzazione, e in particolare di algoritmi genetici, dipende da diversi fattori. Uno di questi fattori `e il grado di diversit`e tra i diversi individui (soluzioni) che influisce sulla capacit`e degli algoritmi genetici nell’esplorare efficacemente lo spazio di ricerca. Ad esempio, la generazione au- tomatica dei casi di test tramite approcci search-based pu essere affetta dalla genetic drift, ovvero, la riduzione della diversit`e tra le soluzioni che pu portare ad una convergenza prematura ad ottimi locali. Per questa ragione, la presente tesi analizza gli effetti di meccanismi volti a preservare la diversit`e tra gli individui (soluzioni) sulle performance degli algoritmi genetici e propone un nuovo meccanismi di diversit`e basato sulla Decomposizione a Valori Singolari (SVD) e sull’algebra lin- eare. Tale meccanismo `e stato integrato all’interno dell’algoritmo genetico tradizione ed `e stato valutato empiricamente nel contesto dell’attivit`e di generazione automatica dei casi di test. Tale

3

(4)

meccanismo `e stato, inoltre, integrato all’interno di un algoritmo genetico multi-obiettivo (MOGA) e valutato empiricamente nel contesto dell’attivit`e di ottimizzazione della test suite per il testing di regressione.

Riferimenti

Documenti correlati

Le due protagoniste sono madre e figlia anche nella realtà, e la madre fino al momento prima della confessione in scena non sapeva che la figlia fosse lesbica.. Non aveva ancora

Se Kentridge è, in questo elaborato, il rappresentante della video-arte, e Méliès quello del cinema, allora l’equazione è confermata: il medium più recedente rimedia il

Queste testimonianze comunque, sembrano attestate per un periodo leggermente successivo all’intervallo considerato, all’interno del quale, fatta eccezione per il caso

There are two types of cards: The red-white-red card is issued for a period of 12 months and entitles for residence and employment with a certain employer; while the

Solo nella fase di declino, quando l’iniziale innovazione ha completato il suo life cycle, è visibile un ritorno delle discovery driven (anche se le delivery continuano a dominare

chapter, historically speaking, women have never been considered as independent and autonomous human beings, but as part of men’s private sphere. Consequently, the idea of the

Though from a theoretical point of view, the federal courts could carry out a full review of the decisions of CADE (which are nowadays accepted as actos vinculados),

However, the harmonization of the European Market will increase competition among insurance companies and will force some degree of deregulation of insurance