Discovering Specifications for Unknown Procedures - Work in Progress

Florian Craciun, Chenguang Luo, Guanhua He, Shengchao Qin, Wei-Ngan Chin
unpublished
We study automated verification of pointer safety for heap-manipulating imperative programs with unknown procedure calls or code pointers. Given the specification of a procedure whose body contains calls to an unknown procedure, we try to infer the possible specifications for the unknown procedure from its calling contexts. We employ a forward shape analysis with separation logic and an abductive inference mechanism to synthesize both pre- and postconditions for the unknown procedure. The
more » ... ed specification is a partial specification of the unknown procedure. Therefore it is subject to a later verification when the code or the complete specification for the unknown procedure are available. Our inferred specifications can also be used for program understanding.
doi:10.29007/wkvm fatcat:e652dnuowrgvtppuhqah2bzihm