Inizio della pagina -
Logo DISCO
|
Visita la Versione ad elevata leggibilità
|
Vai al Contenuto della pagina
|
Vai alla Fine dei contenuti
|
Vai al Menu Principale
|
Vai alla Barra di navigazione (sei in)
|
Vai al Menu di navigazione (albero)
|
Vai alla Lista dei comandi
|
Vai alla Lista degli approfondimenti
|
Vai al Menu inferiore
|
Logo Ateneo
   
Didattica
Evoluzione dei sistemi software e reverse engineering

Codice ins.

Insegnamento

CFU ins.

Tipo ins.

Anno

Sem.

SSD ins.

Responsabile insegnamento

 

F1801Q116

Evoluzione dei Sistemi Software e Reverse Engineering

6

OBS

2

1

ING-INF/05

ARCELLI FONTANA Francesca

 

OBIETTIVI FORMATIVI:
Lo studente acquisirà competenze relative alle problematiche principali dell'evoluzione del software e della reverse engineering, sarà in grado di effettuare analisi e utilizzare diversi strumenti di reverse engineering e di supporto alla comprensione e manutenzione del software

CONTENUTI

  • Evoluzione dei Sistemi Software: Il riuso del software; Le dinamiche dell'Evoluzione del software; Manutenzione del Software: problematiche principali; 
  • Le recenti metodologie, tecniche e strumenti di Reverse Engineering e di Integrazioni di sistemi
  • Reverse Engineering: Reverse Engineering orientata agli oggetti;  quali sono i patterns usati nella reverse engineering;
  • Metriche di qualità,  di manutenibilità e assesment di un sistema esistente
  • Gestione di un portafolio applicativo di grandi dimensioni (Application Portfolio Management): problemi, strumenti di supporto, le metriche utilizzate.
  • Modernizzazione dei sistemi legacy: Migrazione dei sistemi legacy verso architetture SOA
  • Tecniche di hacking, decompiling, offuscamento codice per la protezione delle applicazioni web.
  • Strumenti di riconoscimento automatico di design pattern nel codice.
  • Antipattern e code smell nel codice: le loro possibili correlazioni, il loro riconoscimento e rimozione attraverso tecniche di refactoring.
  • Impatto delle tecniche di refactoring sulla qualità del codice
  • Applicazioni della model-driven reverse engineering.
  • Analisi statica e dinamica di supporto alla reverse engineering
  • Utilizzo di strumenti per la ricostruzione di architetture software

Testi di riferimento:
Slides del docente, fotocopie di diversi testi, articoli, survey e tutorial fornite dal docente, tesi di laurea e di dottorato svolte presso il laboratorio di ricerca ESSeRE.

Aims of the Course:

The student will learn all the principal techniques used to support software evolution and reverse engineering. The student will be able to use different tools useful for reverse engineering, program comprehension and software maintainability.

Program:

  • Software evolution software reuse; Software maintainability: principal problems. 
  • Techniques and tools for  Reverse Engineering and Systems Integration
  • Object-oriented Reverse Engineering: patterns for  reverse engineering;
  • Software quality metrics,  and assessment of legacy systems
  • Application Portfolio Management: problems, tools, techniques and metrics
  • Modernization of legacy systems: Migration of  legacy systems towards SOA architecture
  • Techniques of hacking, decompiling and code obfuscation
  • Tools for  design pattern detection in the code
  • Antipattern and  code smell detection in the code, their correlations and refactoring
  • Impact of  refactoring techniques on the code quality
  • Introduction and application to model-driven reverse engineering.
  • Static and  dynamic analysis for  reverse engineering
  • Tools for software architecture reconstruction

References:
Slides, papers, online books, survey and tutorial, Master and PhD thesis

 

 

 

 

 

 

Approfondimenti

Google Translate
Translate to English Translate to French Translate to German Translate to Spanish Translate to Chinese Translate to Portuguese Translate to Arabic
Translate to Albanian Translate to Bulgarian Translate to Croatian Translate to Czech Translate to Danish Translate to Dutch Translate to Finnish Translate to Greek Translate to Hindi
Translate to Hungarian Translate to Irish Translate to Japanese Translate to Korean Translate to Norwegian Translate to Polish Translate to Romanian Translate to Russian Translate to Serbian
Translate to Slovenian Translate to Swedish Translate to Thai Translate to Turkish

(C) Copyright 2016 - Dipartimento Informatica Sistemistica e Comunicazione - Viale Sarca, 336
20126 Milano - Edificio U14
redazioneweb@disco.unimib.it - ultimo aggiornamento di questa pagina 27/09/2012