A rewriting logic approach to static checking of units of measurement in C

Citations of this article
Mendeley users who have this article in their library.


Many C programs assume the use of implicit domain-specific information. A common example is units of measurement, where values can have both a standard C type and an associated unit. However, since there is no way in the C language to represent this additional information, violations of domain-specific policies, such as unit safety violations, can be difficult to detect. In this paper we present a static analysis, based on the use of an abstract C semantics defined using rewriting logic, for the detection of unit violations in C programs. In contrast to typed approaches, the analysis makes use of annotations present in C comments on function headers and in function bodies, leaving the C language unchanged. Initial evaluation results show that performance scales well, and that errors can be detected without imposing a heavy annotation burden. © 2012 Elsevier B.V.




Hills, M., Chen, F., & Roşu, G. (2012). A rewriting logic approach to static checking of units of measurement in C. In Electronic Notes in Theoretical Computer Science (Vol. 290, pp. 51–67). https://doi.org/10.1016/j.entcs.2012.11.011

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free