Improved loop execution modeling in the Clang static analyzer

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...

Teljes leírás

Elmentve itt :
Bibliográfiai részletek
Szerzők: Szécsi Péter György
Horváth Gábor
Porkoláb Zoltán
Dokumentumtípus: Cikk
Megjelent: University of Szeged, Institute of Informatics Szeged 2022
Sorozat:Acta cybernetica 25 No. 4
Kulcsszavak:Programanalízis, Programozás
Tárgyszavak:
doi:10.14232/actacyb.283176

Online Access:http://acta.bibl.u-szeged.hu/86960
LEADER 01833nab a2200253 i 4500
001 acta86960
005 20250415123726.0
008 250415s2022 hu o 000 eng d
022 |a 2676-993X 
024 7 |a 10.14232/actacyb.283176  |2 doi 
040 |a SZTE Egyetemi Kiadványok Repozitórium  |b hun 
041 |a eng 
100 1 |a Szécsi Péter György 
245 1 0 |a Improved loop execution modeling in the Clang static analyzer  |h [elektronikus dokumentum] /  |c  Szécsi Péter György 
260 |a University of Szeged, Institute of Informatics  |b Szeged  |c 2022 
300 |a 909-921 
490 0 |a Acta cybernetica  |v 25 No. 4 
520 3 |a 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. 
650 4 |a Természettudományok 
650 4 |a Számítás- és információtudomány 
695 |a Programanalízis, Programozás 
700 0 1 |a Horváth Gábor  |e aut 
700 0 1 |a Porkoláb Zoltán  |e aut 
856 4 0 |u http://acta.bibl.u-szeged.hu/86960/1/cybernetica_025_numb_004_909-921.pdf  |z Dokumentum-elérés