Finding Software Vulnerabilities in Large C Projects via Bounded Model Checking
Bounded model checking (BMC) is a widely used technique for detecting security vulnerabilities and verifying the correctness of critical software components. While highly effective on small to medium-sized codebases, its application to large-scale software systems remains difficult due to scalability limitations. In this work, we present a practical methodology to enable the use of BMC in real-world, complex software projects. Our approach includes automated preprocessing of source code and a guided verification process that helps a model checker systematically explore a codebase. We also introduce a function-level prioritization mechanism that focuses verification efforts on the most critical code parts. We evaluated our method on popular open-source C projects, discovering security vulnerabilities that the respective developers confirmed. The results demonstrate that, with appropriate strategies, BMC can effectively scale to verify large software systems while maintaining low memory usage.
Authors
- Thales Araujo da Silva
- Norbert Tihanyi (ORCID: https://orcid.org/0000-0002-9002-5935)
- Richard A. Dubniczky (ORCID: https://orcid.org/0009-0003-3951-1932)
- Lucas; id_orcid 0000-0002-6235-4272 Cordeiro
- Bruno Carvalho De Farias
- Eddie B. De L. Filho
- Janislley Oliveira de Sousa
Publication Details
- Journal
- Research Explorer (The University of Manchester)
- Published
- 2026-01-13
- Primary Topic
- Security and Verification in Computing
- Type
- article
- Field-Weighted Citation Impact
- 0.00