Flow-insensitive type qualifier inference on programming languages allowing type casts

Flow-insensitive type qualifier inference on programming languages allowing type casts

Huisong Li1, 2

COMPUTER MODELLING & NEW TECHNOLOGIES 2014 18(2) 120-125

1State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing, 100190, China
2University of Chinese Academy of Sciences, Beijing 100049, China


Type qualifiers are lightweight specifications of atomic properties that refine the standard types. Flow-insensitive type qualifier inference has been used in the CQual framework to improve the quality of C programs. However, type casts will affect the effectiveness of type qualifier inference, as they can lead to either accepting some flawed programs due to discarding some useful qualifier information, or rejecting some safe programs when the analysis is conservative. In this paper, we first present a language, which allows type casts and formalize its flow-insensitive qualifier inference system. We then show some examples to illustrate how qualifiers are lost because of type casts in CQual and give an idea on solving this problem.