Dynamically Discovering Likely Program Invariants to Support Program Evolution
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
Predicting problems caused by component upgrades
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Synthesis of interface specifications for Java classes
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Tools for composite web services: a short overview
ACM SIGMOD Record
Sequential Machines: Selected Papers
Sequential Machines: Selected Papers
Mining object behavior with ADABU
Proceedings of the 2006 international workshop on Dynamic systems analysis
DSD-Crasher: a hybrid analysis tool for bug finding
Proceedings of the 2006 international symposium on Software testing and analysis
QUARK: Empirical Assessment of Automaton-based Specification Miners
WCRE '06 Proceedings of the 13th Working Conference on Reverse Engineering
Introduction to Automata Theory, Languages, and Computation (3rd Edition)
Introduction to Automata Theory, Languages, and Computation (3rd Edition)
Semi-automated adaptation of service interactions
Proceedings of the 16th international conference on World Wide Web
Feedback-Directed Random Test Generation
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Static specification mining using automata-based abstractions
Proceedings of the 2007 international symposium on Software testing and analysis
Detecting object usage anomalies
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Automatic generation of software behavioral models
Proceedings of the 30th international conference on Software engineering
Validation of contracts using enabledness preserving finite state abstractions
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Automatic synthesis of behavior protocols for composable web-services
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Automatic steering of behavioral model inference
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Detecting precise behavioral models
Proceedings of the doctoral symposium for ESEC/FSE on Doctoral symposium
On the Synthesis of Finite-State Machines from Samples of Their Behavior
IEEE Transactions on Computers
Towards faithful model extraction based on contexts
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
CUTE and jCUTE: concolic unit testing and explicit path model-checking tools
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Automatic inference of abstract type behavior
Proceedings of the IEEE/ACM international conference on Automated software engineering
Learning extended FSA from software: An empirical assessment
Journal of Systems and Software
A test-suite reduction approach to improving fault-localization effectiveness
Computer Languages, Systems and Structures
Hi-index | 0.00 |
The quality of systems that integrate Web services provided by independent organizations depends on the ways the systems interact with the services, i.e., on their interaction protocols, which are not always easy to deduce by inspecting the code. Accurate models of interaction protocols provide a comprehensive view of the interactions, and support manual and automatic analysis of corner cases that are often difficult to discover, and are responsible from many subtle failures. Models of program behavior can be extracted either statically from the source code or dynamically from execution traces. Dynamic techniques cannot reveal behaviors that have not been executed, and thus dynamic models are partially useful to identify critical corner cases. Static techniques produce models of the whole execution space, and thus static models are more useful to find critical cases. Most static techniques to extract models of the code behavior focus on the usage protocol, i.e., how the services can be used, rather than the interaction protocol, i.e., how applications use services. While usage protocols can help software engineers understanding the service behavior, interaction protocols describe the subset of actual interactions between the system and the integrated services, and provide the information required to understand critical interactions. In this paper, we present SEIM, a technique to extract models of the service interaction protocol. SEIM extracts models statically, and includes a novel refinement strategy to eliminate infeasible behaviors that reduce the usability of statically derived models. This paper describes the technique and provides some empirical data from the early experience of SEIM with an application that interacts with the eBay Web Services.