Inferring semantic interfaces of data structures
2012 (English)In: Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change: 5th International Symposium, ISoLA 2012, Heraklion, Crete, Greece, October 15-18, 2012, Proceedings, Part I, 2012, no PART 1, 554-571 p.Conference paper (Refereed)
In this paper, we show how to fully automatically infer semantic interfaces of data structures on the basis of systematic testing. Our semantic interfaces are a generalized form of Register Automata (RA), comprising parameterized input and output, allowing to model control- and data-flow in component interfaces concisely. Algorithmic key to the automated synthesis of these semantic interfaces is the extension of an active learning algorithm for Register Automata to explicitly deal with output. We evaluated our algorithm on a complex data structure, a "stack of stacks", the largest of which we could learn in merely 20 seconds with less than 4000 membership queries, resulting in a model with rougly 800 nodes. In contrast, even when restricting the data domain to just four values, the corresponding plain Mealy machine would have more than 10 9 states and presumably require billions of membership queries.
Place, publisher, year, edition, pages
2012. no PART 1, 554-571 p.
, Lecture Notes in Computer Science, ISSN 0302-9743 ; 7609
Computer and Information Science
IdentifiersURN: urn:nbn:se:uu:diva-186813DOI: 10.1007/978-3-642-34026-0_41ISBN: 978-3-642-34025-3OAI: oai:DiVA.org:uu-186813DiVA: diva2:576077
5th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation: Technologies for Mastering Change, ISoLA 2012, 15 October 2012 through 18 October 2012, Heraklion, Crete, Greece