Automatické srovnávání výstupu statické analýzy na různých verzích programů - Kompová, Radmila (Vysoké učení technické v Brně. Fakulta informačních technologií, 2013)
Práce se zabývá vývojem nástrojové podpory pro srovnávání výstupu statické analýzy uplatněné na různé verze zdrojových kódů programů. Součástí je rovněž diskuze tří volně dostupných statických analyzátorů pro jazyk C, z nichž byl pro implementaci práce zvolen Cppcheck. Výstupy analyzátoru získané pro různé verze určitého programu jsou srovnávány na základě kontextu v okolí řádku, na němž byla nalezena chyba. Pro porovnávání dvou kontextů je využit nástroj patch. Chyby jsou po srovnání klasifikovány do tří skupin\,--\, nové, staré a opravené. Součástí práce je rovněž webové rozhraní umožňující přehlednější prezentaci výsledků. Vytvořený nástroj byl úspěšně otestován na třech projektech s otevřenými zdrojovými kódy, konkrétně na jádře Linux, Coreutils a CPython.

This thesis aims at development of a tool support for comparing the output of static analysis applied to different versions of program source codes. The thesis also comprises a discussion of three opensource static analyzers of the C source code. Based on this discussion, one of these analyzers, Cppcheck, was chosen for the implementation of the designed tool. The static analyzer's outputs, obtained for various versions of a specific program, are compared on the basis of the context of the line at which an error was found. The patch utility is used for comparing the appropriate contexts. Detected errors are classified into three groups: new, old, and fixed errors. A web interface allowing an easier-to-follow presentation of the results is also provided. The designed tool set has been successfully tested on three opensource projects, including the Linux kernel, Coreutils and CPython.
Automatic Comparison of Static Analysis Outputs on Different Versions of Programs
Keywords: statická analýza kódu; Cppcheck; automatické srovnávání výstupu statické analýzy; verzovací systémy; patch; static analysis; Cppcheck; automatic comparison of static analysis outputs; version control systems; patch