Stage Interno: Diff da Allineamento

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