Coccinelle – Refactoring de codi

Software per fer un refactoring de codi C. Molt útil per canviar el format en què es llancen les funcions, substituir una funció per una altra, afegir una variable a les crides, etc.

Per fer-ne ús només cal crear un fitxer molt similar a un diff i executar l’eina.

Exemple d’script test.cocci

    @@
    expression E;
    identifier ptr;
    @@

    -ptr = alloca(E);
    +ptr = malloc(E);
    +if (ptr == NULL)
    +        return 1;

Per executar-lo cal fer:

$ spatch -sp_file test.cocci test.c

 

http://coccinelle.lip6.fr/