TY - JOUR
T1 - Automated Specification Inference in a Combined Domain via User-Defined Predicates
AU - Qin, Shengchao
AU - He, Guanhua
AU - Chin, Wei-Ngan
AU - Craciun, Florin
AU - He, Mengda
AU - Ming, Zhong
PY - 2017/6/19
Y1 - 2017/6/19
N2 - Discovering program specifications automatically for heap-manipulating programs is a challenging task due
to the complexity of aliasing and mutability of data structures. This task is further complicated by an
expressive domain that combines shape, numerical and bag information. In this paper, we propose a compositional analysis framework that would derive the summary for each method in the expressive abstract
domain, independently from its callers. We propose a novel abstraction method with a bi-abduction technique in the combined domain to discover pre-/post-conditions that could not be automatically inferred
before. The analysis does not only infer memory safety properties, but also finds relationships between pure
and shape domains towards full functional correctness of programs. A prototype of the framework has been
implemented and initial experiments have shown that our approach can discover interesting properties for
non-trivial programs.
AB - Discovering program specifications automatically for heap-manipulating programs is a challenging task due
to the complexity of aliasing and mutability of data structures. This task is further complicated by an
expressive domain that combines shape, numerical and bag information. In this paper, we propose a compositional analysis framework that would derive the summary for each method in the expressive abstract
domain, independently from its callers. We propose a novel abstraction method with a bi-abduction technique in the combined domain to discover pre-/post-conditions that could not be automatically inferred
before. The analysis does not only infer memory safety properties, but also finds relationships between pure
and shape domains towards full functional correctness of programs. A prototype of the framework has been
implemented and initial experiments have shown that our approach can discover interesting properties for
non-trivial programs.
U2 - 10.1016/j.scico.2017.05.007
DO - 10.1016/j.scico.2017.05.007
M3 - Article
SN - 0167-6423
SP - -
JO - Science of Computer Programming
JF - Science of Computer Programming
ER -