Verso una teoria delle differenze tra documenti semi-strutturati


Autoria(s): Aquino, Andrea
Contribuinte(s)

Vitali, Fabio

Data(s)

17/07/2013

Resumo

I sistemi di versionamento moderni quali "git" o "svn" sono ad oggi basati su svariati algoritmi di analisi delle differenze (detti algoritmi di diffing) tra documenti (detti versioni). Uno degli algoritmi impiegati con maggior successo a tal proposito è il celebre "diff" di Unix. Tale programma è in grado di rilevare le modifiche necessarie da apportare ad un documento al fine di ottenerne un altro in termini di aggiunta o rimozione di linee di testo. L'insieme di tali modifiche prende nome di "delta". La crescente richiesta e applicazione dei documenti semi-strutturati (ed in particolar modo dei documenti XML) da parte della comunità informatica soprattutto in ambito web ha motivato la ricerca di algoritmi di diffing più raffinati che operino al meglio su tale tipologia di documenti. Svariate soluzioni di successo sono state discusse; algoritmi ad alte prestazioni capaci di individuare differenze più sottili della mera aggiunta o rimozione di testo quali il movimento di interi nodi, il loro riordinamento finanche il loro incapsulamento e così via. Tuttavia tali algoritmi mancano di versatilità. L'incapsulamento di un nodo potrebbe essere considerata una differenza troppo (o troppo poco) generale o granulare in taluni contesti. Nella realtà quotidiana ogni settore, pubblico o commerciale, interessato a rilevare differenze tra documenti ha interesse nell'individuarne sempre e soltanto un sottoinsieme molto specifico. Si pensi al parlamento italiano interessato all'analisi comparativa di documenti legislativi piuttosto che ad un ospedale interessato alla diagnostica relativa alla storia clinica di un paziente. Il presente elaborato di tesi dimostra come sia possibile sviluppare un algoritmo in grado di rilevare le differenze tra due documenti semi-strutturati (in termini del più breve numero di modifiche necessarie per trasformare l'uno nell'altro) che sia parametrizzato relativamente alle funzioni di trasformazione operanti su tali documenti. Vengono discusse le definizioni essenziali ed i principali risultati alla base della teoria delle differenze e viene dimostrato come assunzioni più blande inducano la non calcolabilità dell'algoritmo di diffing in questione.

Formato

application/pdf

Identificador

http://amslaurea.unibo.it/5666/4/aquino_andrea_tesi.pdf

Aquino, Andrea (2013) Verso una teoria delle differenze tra documenti semi-strutturati. [Laurea magistrale], Università di Bologna, Corso di Studio in Informatica [LM-DM270] <http://amslaurea.unibo.it/view/cds/CDS8028/>

Relação

http://amslaurea.unibo.it/5666/

Direitos

info:eu-repo/semantics/openAccess

Palavras-Chave #diff, diffing, differenza, documento, XML, multigrafo, infinito #scuola :: 843899 :: Scienze #cds :: 8028 :: Informatica [LM-DM270] #sessione :: prima
Tipo

PeerReviewed