Treffer: A Semantics of Structures, Unions, and Underspecified Terms for Formal Specification
Weitere Informationen
ACSL is a behavioral interface specification language for C. It is usedby Frama-C, a framework including several formal methods-basedtechniques for verifying C code with respect to ACSL annotations.Currently, there is no formal definition of the ACSL semantics,which may lead to different, possibly inconsistent, interpretationsof the semantics by developers and users. This paper is a first stepto solve this issue by formalizing a subset of the ACSL specificationlanguage in Coq. This semantics is based on Krebbers’ semanticsof C. The paper focuses on two features: an equality for structuresand unions, which are comparable in ACSL, contrary to C, anda logic for handling underspecified terms and predicates that thetotal logic of ACSL let us manipulate. Finally, we also provide a fewproperties of our formal semantics.