Dlaha (programovací nástroj) - Splint (programming tool)

Dlaha
VývojářiVývojáři dlahy
Stabilní uvolnění
3.1.2 / 12. července 2007; Před 13 lety (2007-07-12)
Úložiště Upravte to na Wikidata
Operační systémCross-platform
TypStatická analýza kódu
LicenceGPL
webová stránkahttp://www.splint.org

Dlaha, zkratka pro Bezpečné programování Lint, je programovací nástroj pro statická kontrola Programy C. kvůli bezpečnosti zranitelnosti a chyby v kódování. Dříve nazývaný LCLint, je to moderní verze Unix žmolky nářadí.

Dlaha má schopnost interpretovat speciální anotace do zdrojový kód, což mu dává silnější kontrolu, než je možné jen při pohledu na samotný zdroj. Dlahu používá gpsd jako součást snahy o návrh na nulové vady.[1]

Dlaha je svobodný software vydané za podmínek GNU General Public License.

Hlavní vývojová aktivita na Splint se zastavila v roce 2010. Podle CVS na SourceForge k září 2012 byla poslední změna v úložišti v listopadu 2010.[2] A sakra úložiště v GitHub má novější změny od července 2019.[3]

Příklad

#zahrnout <stdio.h>int hlavní(){    char C;    zatímco (C != 'X');    {        C = getchar();        -li (C = 'X')            vrátit se 0;        přepínač (C) {        případ ' n':        případ ':            printf("Nový řádek n");        výchozí:            printf("%C",C);        }    }    vrátit se 0;}

Výstup dlahy:

Proměnná c použitá před definicí Podezření na nekonečnou smyčku. Žádná hodnota použitá v testu smyčky (c) není změněna testem nebo tělem smyčky. Přiřazení int k char: c = getchar () Testovací výraz pro if je přiřazovací výraz: c = 'x'Testovací výraz pro, pokud není boolean, zadejte char : c = 'x'Fall through case (no previous break)

Pevný zdroj:

#zahrnout <stdio.h>int hlavní(){    int C = 0;  // Přidána počáteční definice přiřazení.    zatímco (C != 'X') {        C = getchar();  // Opravený typ c na int        -li (C == 'X') // Opravena chyba přiřazení, aby se z ní stal operátor porovnání.            vrátit se 0;        přepínač (C) {        případ ' n':        případ ':            printf("Nový řádek n");            přestávka;  // Přidán příkaz break, aby se zabránilo propadnutí.        výchozí:            printf("%C",C);            přestávka;  // Přidáno prohlášení o přerušení do výchozího úlovku, z dobré praxe.        }    }    vrátit se 0;}

Viz také

Reference

  1. ^ Raymond (2012). Brown, Amy; Wison, Greg (eds.). Architektura aplikací s otevřeným zdrojovým kódem, svazek II (Eric ed.). Svůdná žena. ISBN  9781105571817.
  2. ^ "Statistika CVS projektu Splint". Citováno 2012-09-11.
  3. ^ "Historie gitů projektu Splint". Citováno 2020-09-16.

externí odkazy