Differenza tra Linter, Sanitizer e Static Analysis Tools

2

Recentemente ho esaminato gli strumenti di analisi statica C ++. Una cosa che mi confonde è la terminologia usata con questi strumenti:

Alcuni strumenti vengono semplicemente chiamati "strumenti di analisi statici" (ad es. CppCheck), altri sono chiamati "disinfettanti" (ad esempio ASan, TSan, MSan, UBSan) e altri sono chiamati "linters" (ad es. PC-Lint).

C'è una distinzione reale che può essere fatta tra questi tre termini, o sono semplicemente parole diverse per la stessa cosa?

    
posta Terence D 18.03.2018 - 04:42
fonte

1 risposta

8

Sanitizers modifica i dati per renderli sicuri e / o utilizzabili da un programma. Ad esempio, caratteri di escape che possono consentire le iniezioni SQL, ecc.

Linters analizza il codice per cercare problemi stilistici, bug, possibili perdite di memoria ...

Gli strumenti di analisi del codice statico sono tutti gli strumenti che analizzano il codice sorgente senza la necessità di eseguirlo. I linters sono spesso strumenti di analisi del codice statici, ma possono essere di altri tipi. Ad esempio, cercando le dipendenze o calcolando le metriche.

    
risposta data 18.03.2018 - 10:22
fonte

Leggi altre domande sui tag