C A P I T O L O
6
Risultati ottenuti
L’interfaccia grafica del verificatore si presenta come nella figura 6.1, nella sezione sinistra della finestra vengono riportati i nomi del file class e del metodo che si sta verificando specificando il passo attuale della verifica. Nella parte destra della finestra viene riportata la tabella sulle statistiche dell’occupazione della memoria, in particolare il numero di frames e i byte complessivi occupati per il metodo verificato dal verificatore Sun, dal verificatore ipd e dal verificatore ipd senza frames duplicati. Nell’ultima colonna della tabella viene riportato il numero di gestori di eccezione associati al metodo corrente, questa scelta è dovuta al fatto che nella versione attuale del verificatore non è implementata la verifica dei gestori d’eccezioni, quindi ai frames totali occupati dal nostro verificatore per un metodo va aggiunto un frame per ogni gestione d’eccezione (dato che si dovrà salvare un frame per l’entry del gestore e tale frame sarà il risultato del merge di tutte le istruzioni del metodo protette da quel gestore). Quindi il numero totale dei frames occupati dal verificatore ipd sarà il numero di frames specificati dalla colonna IPD – AD e in più bisogna aggiungere un frame per ogni gestore di eccezione associato al metodo (cioè il valore che appare che nella colonna NUM EXC HANDL) .
CAPITOLO 6:RISULTATIOTTENUTI
fig. 6.1: Interfaccia grafica del verificatore ipd
Le statistiche sono state raccolte e riportate nella tabella 6.1, i risultati sono espressi in byte e in frames occupati (tra parentesi).
i metodi verificati appartengono al Java Runtime Envirement in particolare ai packages: − JRE.Java.io (3 metodi ) − JRE.org.apache.crimsom.tree (1 metodo) − JRE.org.apache.xalan.template (4 metodi) − JRE.org.apache.crimsonm.parser (1 metodo) − JRE.Javax.swing (3 metodi) − JRE.src.org.apache.xpath.axes (1 metodo)
Tutti i metodi riportati presentano delle chiamate a subroutines, è evidente dai dati della tabella che il grado di ottimizzazione è ancora elevato anche per la nuova versione estesa del verificatore alla gestione delle subroutines, in un caso dei casi riportati si passa da 36 frames occupati dal verificatore Sun contro i 5 frames utilizzati dal nostro verificatore.
CAPITOLO 6:RISULTATIOTTENUTI
SUN IPD IPD AD NUM EXC HANDL
297 B ( 9 frames ) 99 B ( 3 frames ) 66 B ( 2 frames ) 1 798 B (14 frames ) 342 B ( 6 frames ) 171 B ( 3 frames ) 2 150 B ( 5 frames ) 90 B ( 3 frames ) 90 B ( 3 frames ) 1 120 B ( 4 frames ) 60 B ( 2 frames ) 60 B ( 2 frames ) 1 297 B ( 9 frames ) 99 B ( 3 frames ) 66 B ( 2 frames ) 1 192 B ( 8 frames ) 72 B ( 3 frames ) 24 B ( 1 frames ) 1 540 B ( 9 frames ) 240 B ( 4 frames ) 240 B ( 4 frames ) 1 72 B (4 frames ) 18 B ( 1 frames ) 18 B ( 1 frames ) 1 864 B ( 16 frames ) 162 B ( 3 frames ) 108 B ( 2 frames ) 4 546 B ( 13 frames ) 84 B ( 2 frames ) 42 B ( 1 frames ) 3 4320 B (36 frames) 1200 B ( 10 frames ) 600 B ( 5 frames ) 2 1200 B ( 16 frames ) 375 B ( 5 frames ) 225 B ( 3 frames ) 1 828 B ( 12 frames ) 345 B ( 5 frames ) 138 B ( 2 frames ) 1 384 B ( 8 frames ) 336 B ( 7 frames ) 240 B ( 5 frames ) 1
fig. 6.1: Tabella dei risultati ottenuti