Questo sito contribuisce alla audience di

Fcat

Un tool per l'analisi di copertura di un codice fortran.

Il tool FCAT è
in grado di individuare nel codice da analizzare:

Cold-spot :parti
del codice che non sono mai eseguite (le evidenzia linea per linea).

Hot-spot :
parti del codice che sono invece eseguite frequentemente (ne fornuisce un
profilo linea per linea).

E’ stato realizzato
per funzionare con codici F90/F95, ma accetta anche il formato fisso del fortran
77.

La sua utilità è rappresentata innazitutto dal fatto di essere
freeware, quindi dalla necessità di ottimizzare il codice realizzato
al fine di migliorarne le potenzialità.

Vediamo come opera
FCAT.

Supponiamo di
avere il codice f90 seguente:

module sub_mod
contains
subroutine sub1(j)
integer j
j = 1
end subroutine sub1
subroutine sub2(j)
integer j
j = 2
end subroutine sub2
end module sub_mod
program junk
use sub_mod
integer i,j
do i = 1, 100
if (i > 200) then
call sub1(j)
else
call sub2(j)
end if
end do
end program junk

Analizzando tale
codice con FCAT si ottiene un risultato del tipo:

module sub_mod
contains
subroutine sub1(j)
integer j
*> j = 1
end subroutine sub1
subroutine sub2(j)
integer j
100 j = 2
end subroutine sub2
end module sub_mod
program junk
use sub_mod
integer i,j
1 do i = 1, 100
100 if (i > 200) then
*> call sub1(j)
100 else
100 call sub2(j)
100 end if
100 end do
end program junk

=========================================

FCAT SUMMARY REPORT

Code a.f90 has 24 lines:
9 are executable lines
of which 2 are not executed
=========================================

Dove le linee
non eseguite sono marcate con il simbolo “*>” , mentre è
riportato il numero di volte che una linea viene eseguita.

E’ altresì semplice l’utilizzo di FCAT per codici complessi attraverso
semplici modifiche del makefile.

Per scaricare
Fcat clicca sull’icona a lato: