2012 | OriginalPaper | Buchkapitel
Symbolic Learning of Component Interfaces
verfasst von : Dimitra Giannakopoulou, Zvonimir Rakamarić, Vishwanath Raman
Erschienen in: Static Analysis
Verlag: Springer Berlin Heidelberg
Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.
Wählen Sie Textabschnitte aus um mit Künstlicher Intelligenz passenden Patente zu finden. powered by
Markieren Sie Textabschnitte, um KI-gestützt weitere passende Inhalte zu finden. powered by
Given a white-box component
with specified unsafe states, we address the problem of automatically generating an interface that captures safe orderings of invocations of
’s public methods. Method calls in the generated interface are guarded by constraints on their parameters. Unlike previous work, these constraints are generated automatically through an iterative refinement process. Our technique, named
Psyco
(
P
redicate-based
SY
mbolic
CO
mpositional reasoning), employs a novel combination of the L* automata learning algorithm with symbolic execution. The generated interfaces are three-valued, capturing whether a sequence of method invocations is safe, unsafe, or its effect on the component state is unresolved by the symbolic execution engine. We have implemented
Psyco
as a new prototype tool in the JPF open-source software model checking platform, and we have successfully applied it to several examples.