2005
DOI: 10.1145/1047659.1040314
|View full text |Cite
|
Sign up to set email alerts
|

Synthesis of interface specifications for Java classes

Abstract: While a typical software component has a clearly specified (static) interface in terms of the methods and the input/output types they support, information about the correct sequencing of method calls the client must invoke is usually undocumented. In this paper, we propose a novel solution for automatically extracting such temporal specifications for Java classes. Given a Java class, and a safety property such as "the exception E should not be raised", the corresponding (dynamic) interface is the most general … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
97
0

Year Published

2005
2005
2021
2021

Publication Types

Select...
5
4

Relationship

0
9

Authors

Journals

citations
Cited by 113 publications
(97 citation statements)
references
References 40 publications
0
97
0
Order By: Relevance
“…White-box inference based on active automata learning (AAL) has been explored in several works. AAL has been combined with predicate abstraction [ACMN05] to infer interface specifications of Java classes, and with CEGAR [HJM05] to infer interface specifications as finite-state automata without data parameters. In [XSL + 13], AAL is combined with support vector machines to infer constraints on data parameters; in [GRR12], AAL is combined with symbolic execution to recover guards from the analyzed system, producing DFA models where labels are guards over parameters of alphabet symbols.…”
Section: Related Workmentioning
confidence: 99%
“…White-box inference based on active automata learning (AAL) has been explored in several works. AAL has been combined with predicate abstraction [ACMN05] to infer interface specifications of Java classes, and with CEGAR [HJM05] to infer interface specifications as finite-state automata without data parameters. In [XSL + 13], AAL is combined with support vector machines to infer constraints on data parameters; in [GRR12], AAL is combined with symbolic execution to recover guards from the analyzed system, producing DFA models where labels are guards over parameters of alphabet symbols.…”
Section: Related Workmentioning
confidence: 99%
“…Whaley et al (2002) present static and dynamic analysis techniques for extracting specifications (as finite state machines) for classes, centered around those classes' fields. Alur et al (2005) analyze definitions of classes (as opposed to their clients) to come up with interface specifications for them. Their approach is based on gradual refinement of the specifications using model checking.…”
Section: Related Workmentioning
confidence: 99%
“…Kremenek et al (2006) used Bayesian learning to match methods with a predefined automata template for specifications. Alur et al (2005) used randomly generated test cases as clients and use Angluin's algorithm (Rivest and Schapire 1993) to infer automata from call sequences that do not throw exceptions. Gowri et al (2005) also used a client emulator as clients, and their approach uses some analysis results such as objects' relationships, internal states, and their specifications of libraries.…”
Section: Mining Specificationsmentioning
confidence: 99%