Descrizione
Uno degli strumenti principali per il controllo di versione è diff, che permette di calcolare e visualizzare le modifiche fra due file. Diff deve riuscire a mostrare un insieme minimale di modifiche da apportare al primo file per ottenere il secondo file.
La strategia principale è basata sul problema del calcolo della sottosequenza comune più lunga, ma più recentemente sono state introdotto altre strategie più precise (sebbene con tempi di calcolo più elevati), quali patience diff e histogram diff.
La proposta di stage si prefigge di utilizzare algoritmi noti di allineamento di sequenze, inizialmente introdotti in Bioinformatica, per realizzare una nuova implementazione di diff che riesca a migliorare ulteriormente i risultati ottenuti da patience diff.
Luogo
DISCo
Requisiti
Conoscenza basilare di C. Conoscenza di git.
Competenze acquisibili
Capacità di progettare e realizzare una implementazione di un algoritmo
Capacità di collaborare in un progetto open source con gruppo di sviluppatori internazionali
Risultati attesi
Implementazione di un nuovo diff da incorporare in LibXDiff (https://github.com/git/git/tree/master/xdiff)
Per informazioni contattare
Gianluca Della Vedova <gianluca.dellavedova@unimib.it>
Tempo di realizzazione
3 mesi