Report on the differential testing of static analyzers

Horváth Gábor; Kovács Réka Nikolett; Szécsi Péter: Report on the differential testing of static analyzers. In: Acta cybernetica, (25) 4. pp. 781-795. (2022)

[thumbnail of cybernetica_025_numb_004_781-795.pdf]
Előnézet
Cikk, tanulmány, mű
cybernetica_025_numb_004_781-795.pdf

Letöltés (1MB) | Előnézet

Absztrakt (kivonat)

Program faults, best known as bugs, are practically unavoidable in today's ever growing software systems. One increasingly popular way of eliminating them, besides tests, dynamic analysis, and fuzzing, is using static analysis based bug-finding tools. Such tools are capable of finding surprisingly sophisticated bugs automatically by inspecting the source code. Their analysis is usually both unsound and incomplete, but still very useful in practice, as they can find non-trivial problems in a reasonable time (e.g. within hours, for an industrial project) without human intervention. Because the problems that static analyzers try to solve are hard, usually intractable, they use various approximations that need to be fine-tuned in order to grant a good user experience (i.e. as many interesting bugs with as few distracting false alarms as possible). For each newly introduced heuristic, this normally happens by performing differential testing of the analyzer on a lot of widely used open source software projects that are known to use related language constructs extensively. In practice, this process is ad hoc, error-prone, poorly reproducible and its results are hard to share. We present a set of tools that aim to support the work of static analyzer developers by making differential testing easier. Our framework includes tools for automatic test suite selection, automated differential experiments, coverage information of increased granularity, statistics collection, metric calculations, and visualizations, all resulting in a convenient, shareable HTML report.

Mű típusa: Cikk, tanulmány, mű
Befoglaló folyóirat/kiadvány címe: Acta cybernetica
Dátum: 2022
Kötet: 25
Szám: 4
ISSN: 2676-993X
Oldalak: pp. 781-795
Nyelv: angol
Kiadó: University of Szeged, Institute of Informatics
Kiadás helye: Szeged
Befoglaló mű URL: https://acta.bibl.u-szeged.hu/86901/
DOI: 10.14232/actacyb.282831
Kulcsszavak: Szoftverfejlesztés, Statikus kódelemzés, Hibakeresés, Dinamikus elemzés, Programozás
Megjegyzések: Bibliogr.: p. 794-795. ; összefoglalás angol nyelven
Szakterület: 01. Természettudományok
01. Természettudományok > 01.02. Számítás- és információtudomány
Feltöltés dátuma: 2025. ápr. 15. 11:24
Utolsó módosítás: 2025. ápr. 15. 11:24
URI: http://acta.bibl.u-szeged.hu/id/eprint/86954
Bővebben:
Tétel nézet Tétel nézet