Learning regular sets from queries and counterexamples
Information and Computation
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Synthesis of interface specifications for Java classes
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Mining object behavior with ADABU
Proceedings of the 2006 international workshop on Dynamic systems analysis
Static specification mining using automata-based abstractions
Proceedings of the 2007 international symposium on Software testing and analysis
The Daikon system for dynamic detection of likely invariants
Science of Computer Programming
Automatic generation of software behavioral models
Proceedings of the 30th international conference on Software engineering
Synthesizing intensional behavior models by graph transformation
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
On the Synthesis of Finite-State Machines from Samples of Their Behavior
IEEE Transactions on Computers
LearnLib: a framework for extrapolating behavioral models
International Journal on Software Tools for Technology Transfer (STTT) - Special Section on FMICS 05
A succinct canonical register automaton model
ATVA'11 Proceedings of the 9th international conference on Automated technology for verification and analysis
On the correspondence between conformance testing and regular inference
FASE'05 Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering
Inferring canonical register automata
VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
Learning techniques for software verification and validation
ISoLA'12 Proceedings of the 5th international conference on Leveraging Applications of Formal Methods, Verification and Validation: technologies for mastering change - Volume Part I
Hi-index | 0.00 |
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 109 states and presumably require billions of membership queries.