
Carlo A. Furia
Senior researcher at the Chair of Software Engineering, Department of Computer Science of ETH Zurich
DEIB - Conference Room
April 17th, 2015
2.30 pm
Contacts:
Matteo Giovanni Rossi
Research line:
Advanced software architectures and methodologies
Sommario
I contratti sono una forma di specifica formale leggera annegata nel codice dei programmi. Essendo essi parti eseguibili del codice, incoraggiano i programmatori a dedicare l'opportuna attenzione alle specifiche, ed aiutano a mantenere la consistenza tra specifica ed implementazione mentre il programma evolve.Questo studio investiga come i contratti sono usati nella pratica dello sviluppo del software. Basandosi su una estesa analisi empirica di 21 progetti Eiffel, C# e Java che fanno uso di contratti, per un totale di più di 260 milioni di linee di codice su oltre 770 revisioni, questo studio analizza le seguenti (ed altre) domande:
- quali tipi di elementi (precondizioni, postcondizioni, invarianti di classe) sono più spesso usati nei contratti;
- come i contratti evolvono nel tempo;
- la relazione tra il cambiamento nell'implementazione e il cambiamento nei contratti;
- il ruolo dell'ereditarietà nel processo.
Biografia
Carlo A. Furia è senior researcher alla Chair of Software Engineering del Departiment of Computer Science dell'ETH di Zurigo.Nella sua ricerca sviluppa modelli, tecniche, metodi e strumenti a supporto dell'analisi, dello sviluppo rigoroso, e della verifica del software e di sistemi software-intensive. Recentemente, il suo lavoro si è focalizzato sul come migliorare l'applicabilità in pratica dei metodi formali sfruttando semplici annotazioni nei programmi come i "contratti".
E' co-chair di SCORE (lo Student COntest on softwaRe Engineering), un evento di ICSE 2016. Ha conseguito il Dottorato in Informatica presso il Politecnico di Milano.
