1. |
- Dura, Alexandru, et al.
(författare)
-
Clog : A Declarative Language for C Static Code Checkers
- 2024
-
Ingår i: CC 2024 - Proceedings of the 33rd ACM SIGPLAN International Conference on Compiler Construction. - 9798400705076 ; , s. 186-197
-
Konferensbidrag (refereegranskat)abstract
- We present Clog, a declarative language for describing static code checkers for C. Unlike other extensible state-of-the-art checker frameworks, Clog enables powerful interprocedural checkers without exposing the underlying program representation: Clog checkers consist of Datalog-style recursive rules that access the program under analysis via syntactic pattern matching and control flow edges only. We have implemented Clog on top of Clang, using a custom Datalog evaluation strategy that piggy-backs on Clang’s AST matching facilities while working around Clang’s limitations to achieve our design goal of representation independence. Our experiments demonstrate that Clog can concisely express a wide variety of checkers for different security vulnerabilities, with performance that is similar to Clang’s own analyses and highly competitive on real-world programs.
|
|