“…Up to now, transformational approaches could not deal with such programs. Similar to related approaches based on separation logic [4,5,9,10,28,32], our technique relies on suitable predicates describing properties of the heap. Like [28], but in contrast to several previous works, our technique derives these heap predicates automatically from the input program and it works automatically for arbitrary data structures (i.e., not only for lists).…”