Generating Interface Grammars from WSDL for Automated Verification of Web Services

  • Sylvain Hallé
  • Graham Hughes
  • Tevfik Bultan
  • Muath Alkhalaf
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5900)


Interface grammars are a formalism for expressing constraints on sequences of messages exchanged between two components. In this paper, we extend interface grammars with an automated translation of XML Schema definitions present in WSDL documents into interface grammar rules. Given an interface grammar, we can then automatically generate either 1 a parser, to check that a sequence of messages generated by a web service client is correct with respect to the interface specification, or 2) a sentence generator producing compliant message sequences, to check that the web service responds to them according to the interface specification. By doing so, we can validate and generate both messages and sequences of messages in a uniform manner; moreover, we can express constraints where message structure and control flow cannot be handled separately.


Sentence Generator Terminal Symbol Shopping Cart Soap Message Java Object 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    PayPal web service API documentation (2008),
  2. 2.
    soapUI: the web services testing tool (2009),
  3. 3.
  4. 4.
    Bai, X., Dong, W., Tsai, W.-T., Chen, Y.: WSDL-based automatic test case generation for web services testing. In: IEEE International Workshop on Service-Oriented System Engineering, SOSE 2005, pp. 207–212 (2005)Google Scholar
  5. 5.
    Barbon, F., Traverso, P., Pistore, M., Trainotti, M.: Run-time monitoring of instances and classes of web service compositions. In: Proceedings of the 2006 IEEE International Conference on Web Services (ICWS 2006), pp. 63–71 (2006)Google Scholar
  6. 6.
    Baresi, L., Guinea, S., Kazhamiakin, R., Pistore, M.: An integrated approach for the run-time monitoring of BPEL orchestrations. In: Proceedings of the First European Conference Towards a Service-Based Internet (ServiceWave 2008), pp. 1–12 (2008)Google Scholar
  7. 7.
    Bartolini, C., Bertolino, A., Marchetti, E., Polini, A.: Towards automated WSDL-based testing of web services. In: Bouguettaya, A., Krueger, I., Margaria, T. (eds.) ICSOC 2008. LNCS, vol. 5364, pp. 524–529. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  8. 8.
    Bauer, J.A., Finger, A.B.: Test plan generation using formal grammars. In: Proceedings of the 4th International Conference on Software Engineering, Munich, Germany, September 1979, pp. 425–432 (1979)Google Scholar
  9. 9.
    Brat, G., Havelund, K., Park, S., Visser, W.: Java pathfinder: Second generation of a Java model checker. In: Proceedings Workshop on Advances in Verification (2000)Google Scholar
  10. 10.
    Brown, A., Fuchs, M., Robie, J., Wadler, P.: MSL: a model for W3C XML Schema. In: Proceedings of the 10th International World Wide Web Conference, pp. 191–200 (2001)Google Scholar
  11. 11.
    Cacciagrano, D., Corradini, F., Culmone, R., Vito, L.: Dynamic constraint-based invocation of web services. In: Bravetti, M., Núñez, M., Zavattaro, G. (eds.) WS-FM 2006. LNCS, vol. 4184, pp. 138–147. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  12. 12.
    Duncan, A.G., Hutchison, J.S.: Using attributed grammars to test designs and implementations. In: Proceedings of the 5th International Conference on Software Engineering, New York, NY, USA, March 1981, pp. 170–178 (1981)Google Scholar
  13. 13.
    Hallé, S., Villemaire, R.: Runtime monitoring of message-based workflows with data. In: Proceedings of the 12th International Enterprise Distributed Object Computing Conference (EDOC 2008), pp. 63–72 (2008)Google Scholar
  14. 14.
    Hallé, S., Villemaire, R.: Browser-based enforcement of interface contracts in web applications with BeepBeep. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 648–653. Springer, Heidelberg (2009)Google Scholar
  15. 15.
    Hughes, G., Bultan, T.: Extended interface grammars for automated stub generation. In: Proceedings of the Automated Formal Methods Workshop, AFM 2007 (2007)Google Scholar
  16. 16.
    Hughes, G., Bultan, T.: Interface grammars for modular software model checking. IEEE Trans. Software Eng. 34(5), 614–632 (2008)CrossRefGoogle Scholar
  17. 17.
    Hughes, G., Bultan, T., Alkhalaf, M.: Client and server verification for web services using interface grammars. In: Bultan, T., Xie, T. (eds.) TAV-WEB, pp. 40–46. ACM, New York (2008)CrossRefGoogle Scholar
  18. 18.
    Mahbub, K., Spanoudakis, G.: Run-time monitoring of requirements for systems composed of web-services: Initial implementation and evaluation experience. In: Proceedings of the 2005 IEEE International Conference on Web Services (ICWS 2005), pp. 257–265 (2005)Google Scholar
  19. 19.
    Maurer, P.M.: Generating test data with enhanced context-free grammars. IEEE Software 7(4), 50–55 (1990)CrossRefGoogle Scholar
  20. 20.
    Meredith, G., Bjorg, S.: Contracts and types. Commun. ACM 46(10), 41–47 (2003)CrossRefGoogle Scholar
  21. 21.
    Sirer, E., Bershad, B.N.: Using production grammars in software testing. In: Proceedings of DSL 1999: the 2nd Conference on Domain-Specific Languages, Austin, TX, US, pp. 1–13 (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Sylvain Hallé
    • 1
  • Graham Hughes
    • 1
  • Tevfik Bultan
    • 1
  • Muath Alkhalaf
    • 1
  1. 1.University of CaliforniaSanta BarbaraUSA

Personalised recommendations