C Analyzer : A Static Program Analysis Tool for C Programs
Rajendra Kumar Solanki

TL;DR
C Analyzer is a static analysis tool leveraging abstract interpretation techniques to verify safety properties in C programs, supporting multiple abstract domains for enhanced precision in detecting runtime errors.
Contribution
This work introduces a flexible static analysis tool for C programs that integrates multiple abstract domains and uses LLVM and CIL for program analysis and transformation.
Findings
Supports four abstract domains: Interval, Octagon, Polyhedra, Bit Vector.
Analyzes properties like division by zero, overflow, and modulus zero.
Uses LLVM Clang API and CIL for CFG generation and code transformation.
Abstract
In our times, when the world is increasingly becoming more dependent on software programs, writing bug-free, correct programs is crucial. Program verification based on formal methods can guarantee this by detecting run-time errors in safety-critical systems to avoid possible adverse impacts on human life and save time and money. This project work tries to leverage Abstract Interpretation techniques for static analysis of C programs. C Analyzer is a tool developed for static analysis of C programs. This implementation of C Analyzer provides a plug-and-play domain architecture for multiple abstract domains to be used. C Analyzer supports four abstract domains - Interval, Octagon, Polyhedra, and Bit Vector. We use these different domains for required precision in program verification. C Analyzer tool uses LLVM C/C++ compiler frontend Clang API to generate and traverse the Control Flow…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Reliability and Analysis Research · Software Testing and Debugging Techniques · Parallel Computing and Optimization Techniques
