Improved loop execution modeling in the Clang static analyzer

Szécsi Péter György; Horváth Gábor; Porkoláb Zoltán: Improved loop execution modeling in the Clang static analyzer. In: Acta cybernetica, (25) 4. pp. 909-921. (2022)

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

Letöltés (398kB) | Előnézet

Absztrakt (kivonat)

The LLVM Clang Static Analyzer is a source code analysis tool which aims to find bugs in C, C++, and Objective-C programs using symbolic execution, i.e. it simulates the possible execution paths of the code. Currently the simulation of the loops is somewhat naive (but efficient), unrolling the loops a predefined constant number of times. However, this approach can result in a loss of coverage in various cases. This study aims to introduce two alternative approaches which can extend the current method and can be applied simultaneously: (1) determining loops worth to fully unroll with applied heuristics, and (2) using a widening mechanism to simulate an arbitrary number of iteration steps. These methods were evaluated on numerous open source projects, and proved to increase coverage in most of the cases. This work also laid the infrastructure for future loop modeling improvements.

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. 909-921
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.283176
Kulcsszavak: Programanalízis, Programozás
Megjegyzések: Bibliogr.: p. 920-921. ; ö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. 12:37
Utolsó módosítás: 2025. ápr. 15. 12:37
URI: http://acta.bibl.u-szeged.hu/id/eprint/86960
Bővebben:
Tétel nézet Tétel nézet