2012
DOI: 10.1007/978-3-642-34026-0_41
|View full text |Cite
|
Sign up to set email alerts
|

Inferring Semantic Interfaces of Data Structures

Abstract: Abstract. 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 eval… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
14
0

Year Published

2014
2014
2021
2021

Publication Types

Select...
7

Relationship

3
4

Authors

Journals

citations
Cited by 27 publications
(14 citation statements)
references
References 19 publications
0
14
0
Order By: Relevance
“…Registers and data parameters can be compared for equality. The authors demonstrate the effectiveness of their approach by inferring models of data structures [42] and extend the expressivity to allow for arbitrary data relations that meet certain learnability criteria [14,15]. Aarts et al develop a slightly different approach for inferring register automata models that can compare registers and data parameter for equality [1,5].…”
Section: Related Work and Applicationsmentioning
confidence: 99%
See 1 more Smart Citation
“…Registers and data parameters can be compared for equality. The authors demonstrate the effectiveness of their approach by inferring models of data structures [42] and extend the expressivity to allow for arbitrary data relations that meet certain learnability criteria [14,15]. Aarts et al develop a slightly different approach for inferring register automata models that can compare registers and data parameter for equality [1,5].…”
Section: Related Work and Applicationsmentioning
confidence: 99%
“…Model learning has been successfully used in several different application domains, including -generating conformance test suites of software components, a.k.a. learningbased testing (e.g., [38,39]), -finding mistakes in implementations of security-critical protocols (e.g., [3,16,[28][29][30]62]), -learning interfaces of classes in software libraries (e.g., [42]), -checking that a legacy component and a refactored implementation have the same behavior (e.g., [63]).…”
Section: Introductionmentioning
confidence: 99%
“…Model learning, also known as active automata learning, is a black-box technique for constructing state machine models of software and hardware components from information obtained through testing (i.e., providing inputs and observing the resulting outputs). Model learning has been successfully used in numerous applications, for instance for generating conformance test suites of software components [13], finding mistakes in implementations of security-critical protocols [8][9][10], learning interfaces of classes in software libraries [14], and checking that a legacy component and a refactored implementation have the same behaviour [19]. We refer to [17,20] for surveys and further references.…”
Section: Introductionmentioning
confidence: 99%
“…active automata learning) is a black-box technique which constructs state machine models of software and hardware components from information obtained by providing inputs and observing the resulting outputs. Model learning has been successfully used in numerous applications, for instance for generating conformance test suites of software components [20], finding mistakes in implementations of security-critical protocols [13][14][15], learning interfaces of classes in software libraries [23], and checking that a legacy component and a refactored implementation have the same behavior [35]. We refer to [26,38] for surveys and further references.…”
Section: Introductionmentioning
confidence: 99%