• Non ci sono risultati.

UNIVERSITÀ DEGLI STUDI DI SALERNO

N/A
N/A
Protected

Academic year: 2021

Condividi "UNIVERSITÀ DEGLI STUDI DI SALERNO"

Copied!
3
0
0

Testo completo

(1)

UNIVERSITÀ DEGLI STUDI DI SALERNO

Dottorato di Ricerca in Scienze Matematiche, Fisiche ed Informatiche

Curriculum in Sistemi e Tecnologie del Software XI Ciclo

Abstract

Search-Based Approaches for Software Development Effort Estimation

Doctoral Dissertation of Federica Sarro

Coordinator Prof. Patrizia Longobardi Advisor Prof. Filomena Ferrucci

   

 

A.A.  2011/2012  

(2)

Abstract  

La   stima   dello   sforzo   di   sviluppo   del   software   è   un'attività   critica   per   la   pianificazione  e  il  monitoraggio  dello  sviluppo  di  progetti  software  e  per  la   consegna   del   prodotto   nei   tempi   e   budget   previsti.   Sovra   o   sotto-­‐stime   significative   espongono   un   progetto   software   a   diversi   rischi.   Sotto-­‐stime   potrebbero  portare  all’aggiunta  di  manodopera  per  un  progetto  software  in   ritardo,  rallentando  ulteriormente  la  realizzazione  del  progetto  (la  legge  di   Brooks),   o   alla   cancellazione   di   attività,   come   la   documentazione   e   la   sperimentazione,   con   un   impatto   negativo   sulla   qualità   del   software   e   manutenzione.   È   evidente   come   la   competitività   di   un’azienda   software   dipenda   fortemente   dalla   capacità   dei   responsabili   di   progetto   (project   manager)  di  prevedere  con  precisione  e  in  anticipo  lo  sforzo  richiesto  per   sviluppare  il  sistema  software.  Tuttavia,  diverse  sfide  esistono  nel  produrre   stime  accurate.  Ad  esempio,  la  stima  è  necessaria  nelle  prime  fasi  del  ciclo   di   vita   del   software,   quando   poche   informazioni   sul   progetto   sono   disponibili,   o   più   fattori   possono   influire   sullo   sforzo   di   progetto   e   questi   fattori  sono  di  solito  specifici  per  i  diversi  contesti  produttivi.  

Diverse  tecniche  sono  state  proposte  in  letteratura  per  supportare  i  project   manager  nella  stima  dello  sforzo  di  sviluppo  dei  progetti  software.  

L'utilizzo  di  algoritmi  di  ottimizzazione  basati  su  ricerca  (search-­‐based)  e’  

stato   recentemente   proposto   come   tecnica   per   la   stima   dello   sforzo   di   sviluppo.   Questi   approcci   includono   una   varietà   di   meta-­‐euristiche,   come   tecniche   di   ricerca   locale   (ad   esempio,   Hill   Climbing,   Tabu   Search,   Simulated   Annealing)   o   globale   (ad   esempio,   Algoritmi   Genetici,   Programmazione  Genetica).  

L'idea  alla  base  dell'utilizzo  di  tali  tecniche  si  basa  sulla  riformulazione  dei   problemi   di   ingegneria   del   software   come   problemi   di   ricerca   o   di   ottimizzazione,   in   cui   l’   obiettivo   è   trovare   soluzioni   che   siano   conformi   a   determinati  criteri  di  adeguatezza  (solitamente  incorporati  in  una  funzione   obiettivo).  In  particolare,  l'uso  di  approcci  search-­‐based  nel  contesto  della   stima   dello   sforzo   è   duplice:   essi   possono   essere   sfruttati   per   costruire   modelli   di   stima   dello   sforzo   o   per   migliorare   l'uso   di   tecniche   di   stima   sforzo   esistenti.   Gli   studi   riportati   in   letteratura   sull’utilizzo   di   queste   tecniche   hanno   fornito   risultati   promettenti   che   incoraggiano   ulteriori   indagini.   Tuttavia,   tali   studi   possono   essere   considerati   preliminari   in   quanto   le   capacità   di   questi   approcci   non   sono   state   pienamente   investigate,  sia  le  analisi  empiriche  effettuate  non  hanno  considerato  le  più  

(3)

recenti   raccomandazioni   su   come   effettuare   la   valutazione   empirica   di   approacci  search-­‐based  nel  contesto  della  stima  dello  sforzo  di  sviluppo.    

L'obiettivo   principale   di   questa   tesi   di   dottorato   è   di   fornire   una   panoramica   sull'uso   delle   tecniche   search-­‐based   per   la   stima   sforzo   di   sviluppo  del  software,  evidenziando    pregi  e  difetti  di  questi  approcci  per  gli   usi  sopra  indicati.  In  particolare,  sulla  base  delle  carenze  evidenziate  nello   stato  dell’arte,  la  ricerca  è  stata  condotta  con  l'obiettivo  di  rispondere  alle   seguenti  domande:  

• Come  le  scelte  progettuali  che  caratterizzano  l'uso  di  approcci  search-­‐

based  influiscono  sulle  prestazioni  di  tali  tecniche?  

• Ci  sono  delle  differenze  nell'utilizzo  di  diverse  tecniche  search-­‐based?  

• Le   tecniche   search-­‐based   sono   almeno   efficaci   quanto   i   metodi   di   stima  dello  sforzo  attualmente  esistenti?  

• Le   tecniche   search-­‐based   sono   efficaci   per   migliorare   la   accuratezza   di  altre  tecniche  data-­‐driven  per  la  stima  dello  sforzo?  

 

Struttura  della  tesi  

La  tesi  è  organizzata  come  segue.  Il  Capitolo  1  introduce  il  problema  della   stima  dello  sforzo  di  svilupo  e  gli  algoritmi  basati  su  ricerca  (search-­‐based).  

Il  Capitolo  2  analizza  lo  stato  dell’arte  nell'uso  di  approcci  search-­‐based  per   la   stima   del   software   sforzo   di   sviluppo.   Il   Capitolo   3   si   concentra   sulla   definizione  e  la  valutazione  di  tre  approcci  basati  su  ricerca  (Hill  Climbing,   Tabu   Search   e   Programmazione   Genetica)   per   costruire   modelli   di   stima   dello  sforzo.  Nel  Capitolo  4  viene  valutato  l'impatto  dell'utilizzo  di  differenti   funzioni   obiettivo   sia   con   Tabu   Search   e   Programmazione   Genetica.   Nel   Capitolo   5   si   propone   l'uso   di   un   approccio   basato   su   ricerca   (i.e.,   Tabu   Search)   per   migliorare   l'uso   di   una   tecnica   di   apprendimento   automatico   per   la   stima   sforzo,   (i.e.,   Support   Vector   Regression).   Osservazioni   finali   concludono  la  tesi.  

Riferimenti

Documenti correlati

When, instead, …rst period imbalances do not satisfy these conditions, country X is best 70 Agur, Itai 2008, Behind the Scenes of Globalization: Strategic Trade Policy, Firm

a focus on technical product considerations and to assess systems as a whole. Thus, whereas mutual recognition means assessing country B’s meat inspection system on the basis of

Following our results, we suggest that economic policy needs to distinguish between two different perspectives of globalization: first, the increased trade over GDP ratio which

emissione spazia per tutto il Trecento ed il Quattrocento aragonese, e la cui conti- nuità di produzione supera abbondantemente quella di cui era a conoscenza lo

Stop-word function Java stop-word list English stop-word list Italian stop-word list No Stemmer.

Chapter 3 focuses on the definition and assessment of three search-based approaches (i.e., Hill Climbing, Tabu Search and Genetic Programming) to build effort estimation models

METODOLOGIA DELLA RICERCA EDUCATIVA (IX CICLO - Nuova Serie). Tesi di

La questione educativa rappresenta la cifra riassuntiva della personalità e del pensiero di don Luigi Giussani: se è vero che fu illuminato pensatore e acuto studioso di