Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

Clog: A Declarative Language for C Static Code Checkers (Artifact)

Dura, Alexandru LU orcid and Reichenbach, Christoph LU orcid (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:
author
and
organization
publishing date
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}},
}