Clog: A Declarative Language for C Static Code Checkers (Artifact)
(2024)- Abstract
- Clog is a declarative language for describing static code checkers for C. Clog is a dialect of Datalog and adds syntactic pattern matching over the C language. We have built Clog using the MetaDL framework and the Clang C compiler frontend. The MetaDL framework supports Datalog evaluation and syntactic patterns, while the Clang frontend provides AST facts and an AST matching mechanism.
We provide the Clog artifact as a Docker image. The artifact contains the Clog implementation, the evaluation framework and the test suites we have used in our evaluation.
Please use this url to cite or link to this publication:
https://lup.lub.lu.se/record/ea1fd9b5-6b81-4eee-882f-0f5f85ff79db
- author
- Dura, Alexandru
LU
and Reichenbach, Christoph LU
- organization
- publishing date
- 2024-01-17
- type
- Non-textual form
- publication status
- published
- subject
- publisher
- Zenodo
- DOI
- 10.5281/zenodo.10525151
- language
- English
- LU publication?
- yes
- id
- ea1fd9b5-6b81-4eee-882f-0f5f85ff79db
- date added to LUP
- 2025-06-09 11:36:18
- date last changed
- 2025-08-12 16:19:24
@misc{ea1fd9b5-6b81-4eee-882f-0f5f85ff79db, abstract = {{Clog is a declarative language for describing static code checkers for C. Clog is a dialect of Datalog and adds syntactic pattern matching over the C language. We have built Clog using the MetaDL framework and the Clang C compiler frontend. The MetaDL framework supports Datalog evaluation and syntactic patterns, while the Clang frontend provides AST facts and an AST matching mechanism.<br/><br/>We provide the Clog artifact as a Docker image. The artifact contains the Clog implementation, the evaluation framework and the test suites we have used in our evaluation.}}, author = {{Dura, Alexandru and Reichenbach, Christoph}}, language = {{eng}}, month = {{01}}, publisher = {{Zenodo}}, title = {{Clog: A Declarative Language for C Static Code Checkers (Artifact)}}, url = {{http://dx.doi.org/10.5281/zenodo.10525151}}, doi = {{10.5281/zenodo.10525151}}, year = {{2024}}, }