TY - JOUR
T1 - Quantified data automata for linear data structures
T2 - a register automaton model with applications to learning invariants of programs manipulating arrays and lists
AU - Garg, Pranav
AU - Löding, Christof
AU - Madhusudan, P.
AU - Neider, Daniel
N1 - We would like to thank Xiaokang Qiu, who was involved in early discussions on finding an automaton model for the decidable fragment of Strand . This work was partially supported by NSF CAREER award #0747041 and NSF Expeditions in Computing ExCAPE Award #1138994.
PY - 2015/8/25
Y1 - 2015/8/25
N2 - We propose a new automaton model, called quantified data automata (QDA) over words, that can model quantified invariants over linear data structures, and study their theory, including closure properties, canonical minimality, and decidability of emptiness. We build poly-time active learning algorithms for them, where the learner is allowed to query the teacher with membership and equivalence queries. In order to express invariants in decidable logics, we invent a decidable subclass of QDAs, called elastic QDAs, and show translations to decidable theories of arrays and lists. We also prove that every QDA has a unique minimally-over-approximating elastic QDA, showing a robust technique for abstracting QDA-expressible properties to the decidable fragments expressed by elastic QDAs. We then give an application of these theoretically sound and efficient active learning algorithms to program verification by building a passive learning framework that efficiently learns adequate quantified linear data structure invariants from samples obtained from dynamic executions for a class of programs.
AB - We propose a new automaton model, called quantified data automata (QDA) over words, that can model quantified invariants over linear data structures, and study their theory, including closure properties, canonical minimality, and decidability of emptiness. We build poly-time active learning algorithms for them, where the learner is allowed to query the teacher with membership and equivalence queries. In order to express invariants in decidable logics, we invent a decidable subclass of QDAs, called elastic QDAs, and show translations to decidable theories of arrays and lists. We also prove that every QDA has a unique minimally-over-approximating elastic QDA, showing a robust technique for abstracting QDA-expressible properties to the decidable fragments expressed by elastic QDAs. We then give an application of these theoretically sound and efficient active learning algorithms to program verification by building a passive learning framework that efficiently learns adequate quantified linear data structure invariants from samples obtained from dynamic executions for a class of programs.
KW - Invariants
KW - Linear data structures
KW - Quantified data automata
KW - Register automata
UR - http://www.scopus.com/inward/record.url?scp=84941942625&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84941942625&partnerID=8YFLogxK
U2 - 10.1007/s10703-015-0231-6
DO - 10.1007/s10703-015-0231-6
M3 - Article
AN - SCOPUS:84941942625
SN - 0925-9856
VL - 47
SP - 120
EP - 157
JO - Formal Methods in System Design
JF - Formal Methods in System Design
IS - 1
ER -