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.
48 3. <strong>Un</strong> <strong>modello</strong> che integra <strong>control</strong> <strong>flow</strong> e <strong>data</strong> <strong>flow</strong><br />
parametro P durante <strong>il</strong> training può venir associato un insieme di valori ammissib<strong>il</strong>i<br />
o un range. Durante la verifica non si deve far altro che accertarsi della presenza del<br />
valore attuale di P nell’insieme o nel range appresi. Per quanto riguarda le relazioni<br />
binarie, come si è visto l’algoritmo è in grado di apprendere delle formule logiche <strong>per</strong><br />
ognuno dei parametri monitorati. Si tratta quindi di fare <strong>il</strong> lookup di quella formula<br />
e di verificarne la verità. Questo implica la necessità di dover mantenere una tabella<br />
con tutti gli ultimi valori visti <strong>per</strong> i vari parametri.<br />
Algoritmo 6: Algoritmo di verifica.<br />
unaryOk(s, {p1, . . . , pn})<br />
begin<br />
for i ∈ {1, . . . , n} do<br />
if value(pi) ∈ V als[s][pi] then<br />
return false<br />
end<br />
end<br />
return true<br />
end<br />
binaryOk(s, {p1, . . . , pn})<br />
begin<br />
for i ∈ {1, . . . , n} do<br />
if 3.1 does not hold then<br />
return false<br />
end<br />
end<br />
return true<br />
end<br />
verify(Stack s, Stack s ′ , P arams {p ′ 1 , . . . , p′ n ′})<br />
begin<br />
if !successor(s, s ′ ) then<br />
alert(“Control <strong>flow</strong> anomaly”)<br />
end<br />
if !unaryOk(s ′ , {p ′ 1 , . . . , p′ n ′}) then<br />
alert(“Data <strong>flow</strong> anomaly on unary relations”)<br />
end<br />
if !binaryOk(s ′ , {p ′ 1 , . . . , p′ n ′}) then<br />
alert(“Data <strong>flow</strong> anomaly on binary relations”)<br />
end<br />
end