Advanced Verification of Distributed WS-BPEL Business Processes Incorporating CSSA-based Data Flow Analysis

The Business Process Execution Language for Web Services WS-BPEL provides an technology to aggregate encapsulated functionalities for defining high-value Web services. For a distributed application in a B2B interaction, the partners simply need to expose their provided functionality as BPEL processes and compose them. Verifying such distributed web service based systems has been a huge topic in the research community lately - cf. [4] for a good overview. However, in most of the work on analyzing properties of interacting Web Services, especially when backed by stateful implementations like WS-BPEL, the data flow present in the implementation is widely neglected, and the analysis focusses on control flow only. This might lead to false-positive analysis results when searching for design weaknesses and errors, e. g. analyzing the controllability [14] of a given BPEL process. In this paper, we present a method to extract dataflow information by constructing a CSSA representation and detecting data dependencies that effect communication behavior. Those discovered dependencies are used to construct a more precise formal model of the given BPEL process and hence to improve the quality of analysis results.

[1]  David A. Padua,et al.  A Constant Propagation Algorithm for Explicitly Parallel Programs , 2004, International Journal of Parallel Programming.

[2]  Flemming Nielson,et al.  Principles of Program Analysis , 1999, Springer Berlin Heidelberg.

[3]  Wolfgang Reisig,et al.  An Operating Guideline Approach to the SOA , 2005 .

[4]  Simon Moser,et al.  Analyzing Compatibility of BPEL Processes , 2006, Advanced Int'l Conference on Telecommunications and Int'l Conference on Internet and Web Applications and Services (AICT-ICIW'06).

[5]  Wil M. P. van der Aalst,et al.  Formal semantics and analysis of control flow in WS-BPEL , 2007, Sci. Comput. Program..

[6]  Simon Moser,et al.  Diagnosing SCA Components Using Wombat , 2006, Business Process Management.

[7]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .

[8]  Axel Martens,et al.  Analyzing Web Service Based Business Processes , 2005, FASE.

[9]  J. B. Ward Principles of programming , 1956, Electrical Engineering.

[10]  David A. Padua,et al.  Concurrent Static Single Assignment Form and Constant Propagation for Explicitly Parallel Programs , 1997, LCPC.

[11]  Boualem Benatallah,et al.  A Petri Net-based Model for Web Service Composition , 2003, ADC.

[12]  Jeffery von Ronne,et al.  SafeTSA: a type safe and referentially secure mobile-code representation based on static single assignment form , 2001, PLDI '01.

[13]  M. Wegman,et al.  Global value numbers and redundant computations , 1988, POPL '88.

[14]  Mark N. Wegman,et al.  Efficiently computing static single assignment form and the control dependence graph , 1991, TOPL.

[15]  Hanspeter Mössenböck,et al.  Single-pass generation of static single-assignment form for structured languages , 1994, TOPL.

[16]  Niels Lohmann,et al.  Analyzing Interacting BPEL Processes , 2006, Business Process Management.

[17]  Rüdiger Valk,et al.  Petri nets for systems engineering - a guide to modeling, verification, and applications , 2010 .

[18]  Jeffrey D. Ullman,et al.  Monotone data flow analysis frameworks , 1977, Acta Informatica.

[19]  Jeffrey D. Ullman,et al.  A Simple Algorithm for Global Data Flow Analysis Problems , 1975, SIAM J. Comput..

[20]  Barbara M. Chapman,et al.  Supercompilers for parallel and vector computers , 1990, ACM Press frontier series.