2013
DOI: 10.1145/2491509.2491519
|View full text |Cite
|
Sign up to set email alerts
|

Enabledness-based program abstractions for behavior validation

Abstract: Code artifacts that have nontrivial requirements with respect to the ordering in which their methods or procedures ought to be called are common and appear, for instance, in the form of API implementations and objects. This work addresses the problem of validating if API implementations provide their intended behavior when descriptions of this behavior are informal, partial, or nonexistent. The proposed approach addresses this problem by generating abstract behavior models which resemble typestates. These mode… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
22
0

Year Published

2014
2014
2024
2024

Publication Types

Select...
4
2
1

Relationship

2
5

Authors

Journals

citations
Cited by 16 publications
(22 citation statements)
references
References 36 publications
(57 reference statements)
0
22
0
Order By: Relevance
“…Static [17,42] and hybrid approaches [15,46] provide two alternatives to specification mining based strictly on invocation traces. Shoham et al [42] infer, from client-side code, FSM models that over-approximate the actual invocation sequences.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Static [17,42] and hybrid approaches [15,46] provide two alternatives to specification mining based strictly on invocation traces. Shoham et al [42] infer, from client-side code, FSM models that over-approximate the actual invocation sequences.…”
Section: Related Workmentioning
confidence: 99%
“…By contrast, our algorithms work on traces generated from multiple parts of the code and, potentially, from multiple applications. De Caso et al [17] statically analyze C programs for invariants and use Contractor to create models that allow more behavior than the ground truth.…”
Section: Related Workmentioning
confidence: 99%
“…This feature is crucial for the effectiveness of the approach given the use of structural subtyping and the richness of types. We are comforted by the fact that inference of object protocols has been investigated in a number of works (a detailed survey is given in [13]), some of which use specification languages inspired to regular expressions [25] as we do.…”
Section: Discussionmentioning
confidence: 99%
“…1 The code defining the Channel class has a straightforward correspondence with its formal counterpart. The class consists of a set of event declarations specifying the messages that can be targeted to instances of the class (lines 3-10), the reaction rules specifying the behavior of instances of the class (lines [11][12][13][14][15][16][17][18][19][20], as well as the initial state of each instance (lines [21][22]. The main program creates a channel that is shared by two asynchronous processes that exchange integers and strings in full-duplex (lines [37][38][39].…”
Section: Implementation Aspectsmentioning
confidence: 99%
See 1 more Smart Citation