Back to Search
Start Over
Improved Loop Execution Modeling in the Clang Static Analyzer
- Source :
- Acta Cybernetica. 25:909-921
- Publication Year :
- 2020
- Publisher :
- University of Szeged, 2020.
-
Abstract
- 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.
- Subjects :
- 0209 industrial biotechnology
Loop (graph theory)
Information Systems and Management
Source code
Computer science
media_common.quotation_subject
0102 computer and information sciences
02 engineering and technology
Parallel computing
Management Science and Operations Research
Static analysis
Symbolic execution
01 natural sciences
Theoretical Computer Science
020901 industrial engineering & automation
Constant (computer programming)
010201 computation theory & mathematics
Computer Science (miscellaneous)
Code (cryptography)
Computer Vision and Pattern Recognition
Loop modeling
Electrical and Electronic Engineering
Heuristics
Software
media_common
Subjects
Details
- ISSN :
- 2676993X and 0324721X
- Volume :
- 25
- Database :
- OpenAIRE
- Journal :
- Acta Cybernetica
- Accession number :
- edsair.doi...........4a475c834a8d108747a15792d6eb3fcd