2013 · 17 citations · 15 references
ComputingComputer ScienceSystems EngineeringFormal MethodsModel-based Systems EngineeringSystems ArchitectureExecutable System ModelsModel ExecutionModel-driven DevelopmentModel-driven Software EngineeringSoftware DesignSoftware ModelingApplication LayerApplication Layer ProtocolsEmulationExecutable ModelsInteraction Trace AnalysisLongest Common SubsequenceModel-to-code GenerationTrace-driven Modeling
Software service emulation is an emerging technique for creating realistic executable models of server-side behaviour and is particularly useful in quality assurance: replicating production-like conditions for large-scale enterprise software systems. This allows performance engineers to mimic very large numbers of servers and/or provide a means of controlling dependencies on diverse third-party systems. Previous approaches to service emulation rely on manual definition of interaction behaviour requiring significant human effort. They also rely on either a system expert or documentation of system protocol and behaviour, neither of which are necessarily available. We present a novel method of automatically building client-server and server-server interaction models of complex software systems directly from interaction trace data, utilising longest common subsequence matching and field substitution algorithms. We evaluate our method against two common application-layer protocols: LDAP and SOAP. The results show that without explicit knowledge of the protocol specifications, our generated service models can produce well-formed responses for interactions. These responses can then be used within an emulation framework for large-scale enterprise system quality assurance purposes.
15
Prospex: Protocol Specification Extraction
Paolo Milani Comparetti, Gilbert Wondracek, Christopher Kruegel et al. · 2009 · 259 citations