Un modello integrato control-flow e data-flow per il rilevamento ...
Un modello integrato control-flow e data-flow per il rilevamento ...
Un modello integrato control-flow e data-flow per il rilevamento ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
46 3. <strong>Un</strong> <strong>modello</strong> che integra <strong>control</strong> <strong>flow</strong> e <strong>data</strong> <strong>flow</strong><br />
Si noti che se uno qualunque dei Pj è un insieme vuoto significa che <strong>per</strong> quel valore<br />
di X non si è osservata alcuna relazione, che equivale a dire che deve sottostare al<br />
vincolo sempre vero ⊤. La 3.3 diventa quindi banalmente sempre vera e quindi non<br />
si può dire niente su X.<br />
3.4 L’algoritmo completo <strong>per</strong> la costruzione del <strong>modello</strong><br />
Algoritmo 5: Algoritmo <strong>per</strong> la costruzione del <strong>modello</strong>.<br />
for T ∈ T do<br />
for e ∈ T do<br />
(Ecall, Ecrs, Ertn) = egBaseCase(stack(e));<br />
learn<strong>Un</strong>ary(arg(e), value(e), stack(e));<br />
learnBinary(arg(e), value(e));<br />
end<br />
end<br />
egInduction(Ecall, Ecrs, Ertn);<br />
for R ∈ R do<br />
for X ∈ X do<br />
apply 3.1 to CurRels[R][X]<br />
end<br />
end<br />
In questa sezione viene dato l’algoritmo completo <strong>per</strong> la costruzione del <strong>modello</strong>.<br />
Esso consiste di due fasi, una “online” e una di post-processing. Durante la fase<br />
“online” le tracce vengono processate evento <strong>per</strong> evento. Ogni evento provoca l’in-<br />
serimento di nuovi archi nell’execution graph o l’apprendimento di nuove relazioni.<br />
La fase successiva di post-processing invece si occupa di lanciare la parte induttiva<br />
della costruzione dell’execution graph (Definizione 2) e di costruire le disgiunzioni<br />
che <strong>il</strong> nuovo algoritmo <strong>data</strong> <strong>flow</strong> è in grado di apprendere.<br />
3.4.1 Relazione con l’algoritmo originale rispetto ai falsi positivi<br />
Come già notato in precedenza la questione dei falsi positivi è molto delicata <strong>per</strong>ché<br />
è legata direttamente alla qualità del training svolto. <strong>Un</strong> training scadente provoca<br />
una elevata quantità di falsi positivi, qualunque sia <strong>il</strong> <strong>modello</strong> ut<strong>il</strong>izzato. Nel <strong>modello</strong><br />
presentato in questa tesi i falsi positivi del <strong>modello</strong> possono essere dovuti alla parte<br />
<strong>control</strong> <strong>flow</strong> e alla parte <strong>data</strong> <strong>flow</strong>. Siccome la parte <strong>control</strong> <strong>flow</strong> del <strong>modello</strong> è<br />
costituita dagli execution graphs senza modifiche, non c’è alcun peggioramento in<br />
falsi positivi da questo punto di vista.