Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio15:esercitazionib:esercitazione6bis

Esercitazione 6 bis

Questa esercitazione tratta due strumenti per valutare le caratteristiche dei vostri programmi.

Esercizio 1: gcov: valutare il test coverage

Utilizzare gcov per effettuare una valutazione del test coverage dei programmi di test che avete sviluppato per la soluzione di uno degli esercizi precedenti. La documentaizone su gcov puo' essere trovata ad esempio qua oppure qua.

In altre parole, nell'esercizio dovete stabilire quanta parte del codice che avete scritto viene effettivamente eseguita e quindi testata.

Chi ha realizzato le funzioni del primo frammento di progetto puo' verificare il test coverage di test-*.c

Per utilizzare gcov: (1) compilare con opzione

-fprofile-arcs -ftest-coverage

e linkare con -lgcov o -fprofile-arcs (2) eseguire (3) invocare gcov sul file sorgente.

Ad esempio:

 $ gcc -fprofile-arcs -ftest-coverage tmp.c
 $ a.out
 $ gcov tmp.c
 90.00% of 10 source lines executed in file tmp.c
 Creating tmp.c.gcov.

Dopo aver fatto questo file `tmp.c.gcov' contiene il file sorgente tmp.c annotato con l'output di `gcov'. Ed esempio:

             -:    0:Source:tmp.c
             -:    0:Graph:tmp.gcno
             -:    0:Data:tmp.gcda
             -:    0:Runs:1
             -:    0:Programs:1
             -:    1:#include <stdio.h>
             -:    2:
             -:    3:int main (void)
             1:    4:{
             1:    5:  int i, total;
             -:    6:
             1:    7:  total = 0;
             -:    8:
            11:    9:  for (i = 0; i < 10; i++)
            10:   10:    total += i;
             -:   11:
             1:   12:  if (total != 45)
         #####:   13:    printf ("Failure\n");
             -:   14:  else
             1:   15:    printf ("Success\n");
             1:   16:  return 0;
             -:   17:}

Dove i numeri a sinistra indicano il numero di esecuzioni effettuate per quella linea e le gratelle ##### le linee non eseguite.

Esercizio 2: gprof: profilare

Utilizzare gprof per effettuare una valutazione del tempo impiegato in ogni invocazione di funzione nei programmi di test che avete sviluppato per la soluzione di uno degli esercizi precedenti o nelle le funzioni sviluppate per il primo frammento di progetto.

informatica/sol/laboratorio15/esercitazionib/esercitazione6bis.txt · Ultima modifica: 05/05/2015 alle 08:52 (7 anni fa) da Susanna Pelagatti