Incremental Syntactic-Semantic Reliability Analysis of Evolving Structured Workflows

Modern enterprise information systems are built following the paradigm of service-orientation. This paradigm promotes workflow-based software composition, where complex business processes are realized by orchestrating different, heterogenous components. These workflow descriptions evolve continuously, to adapt to changes in the business goals or in the enterprise policies. Software verification of evolving systems is challenging mainstream methodologies and tools. Formal verification techniques often conflict with the time constraints imposed by change management practices for evolving systems. Since changes in these systems are often local to restricted parts, an incremental verification approach could be beneficial. In this paper we focus on the probabilistic verification of reliability requirements of structured workflows. We propose a novel incremental technique based on a syntactic-semantic approach. Reliability analysis is driven by the syntactic structure defined by an operator-precedence grammar of the workflow and encoded as semantic attributes associated with the grammar. Incrementality is achieved by coupling the evaluation of semantic attributes with an incremental parsing technique. The approach has been implemented in a prototype tool; preliminary experimental evaluation confirms the theoretical speedup over a nonincremental approach.

[1]  Cliff B. Jones,et al.  Tentative steps toward a development method for interfering programs , 1983, TOPL.

[2]  Carlo Ghezzi,et al.  Incremental Parsing , 1979, TOPL.

[3]  Aditya P. Mathur,et al.  Comparison of architecture-based software reliability models , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[4]  Hongyang Qu,et al.  Incremental quantitative verification for Markov decision processes , 2011, 2011 IEEE/IFIP 41st International Conference on Dependable Systems & Networks (DSN).

[5]  Kateriana Goýeva-Popstojanova,et al.  Many architecture-based software reliability modelsComparison of Architecture-Based Software Reliability Models , 2001 .

[6]  Matteo Pradella,et al.  PAPAGENO: A Parallel Parser Generator for Operator Precedence Grammars , 2012, SLE.

[7]  Ceriel J. H. Jacobs,et al.  Parsing Techniques - A Practical Guide , 2007, Monographs in Computer Science.

[8]  Roger C. Cheung,et al.  A User-Oriented Software Reliability Model , 1978, IEEE Transactions on Software Engineering.

[9]  Robert W. Floyd,et al.  Syntactic Analysis and Operator Precedence , 1963, JACM.

[10]  A. Prasad Sistla,et al.  Hybrid and incremental modelchecking techniques , 1996, CSUR.

[11]  Luciano Baresi,et al.  Toward Open-World Software: Issue and Challenges , 2006, Computer.

[12]  Koen De Bosschere An Operator Precedence Parser for Standard Prolog Text , 1996, Softw. Pract. Exp..

[13]  Luciano Baresi,et al.  Toward open-world software: Issues and challenges , 2006, Computer.

[14]  Corina S. Pasareanu,et al.  Learning Assumptions for Compositional Verification , 2003, TACAS.

[15]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[16]  Carlo Ghezzi,et al.  Syntactic-semantic incrementality for agile verification , 2015, Sci. Comput. Program..

[17]  Carlo Ghezzi Evolution, Adaptation, and the Quest for Incrementality , 2012, Monterey Workshop.

[18]  Andrei P. Ershov,et al.  On the Partial Computation Principle , 1977, Inf. Process. Lett..

[19]  Corina S. Pasareanu,et al.  Reliability analysis in Symbolic PathFinder , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[20]  Eila Niemelä,et al.  Survey of reliability and availability prediction methods from the viewpoint of software architecture , 2007, Software & Systems Modeling.

[21]  Carlo Ghezzi,et al.  Run-time efficient probabilistic model checking , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[22]  Carlo Ghezzi,et al.  A compositional method for reliability analysis of workflows affected by multiple failure modes , 2011, CBSE '11.

[23]  Stefano Crespi-Reghizzi,et al.  Operator Precedence and the Visibly Pushdown Property , 2010, LATA.

[24]  Irina Shklovski,et al.  Guest Editors' Introduction: Urban Computing--Navigating Space and Context , 2006, Computer.

[25]  Conrado Daws Symbolic and Parametric Model Checking of Discrete-Time Markov Chains , 2004, ICTAC.

[26]  Wil M. P. van der Aalst,et al.  Workflow Patterns , 2004, Distributed and Parallel Databases.

[27]  Donald E. Knuth,et al.  Semantics of context-free languages , 1968, Mathematical systems theory.

[28]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.

[29]  Hoang Pham,et al.  System Software Reliability (Springer Series in Reliability Engineering) , 2007 .

[30]  Lars Grunske,et al.  An Efficient Method for Architecture-Based Reliability Evaluation for Evolving Systems with Changing Parameters , 2010, 2010 IEEE 21st International Symposium on Software Reliability Engineering.

[31]  Hoang Pham,et al.  System Software Reliability , 1999 .

[32]  Carlo Ghezzi,et al.  A formal approach to adaptive software: continuous assurance of non-functional requirements , 2011, Formal Aspects of Computing.

[33]  Laurence Tratt,et al.  Eco: A Language Composition Editor , 2014, SLE.

[34]  Radu Calinescu,et al.  Large-scale complex IT systems , 2011, Commun. ACM.

[35]  Carlo Ghezzi,et al.  Further steps towards efficient runtime verification: Handling probabilistic cost models , 2012, 2012 First International Workshop on Formal Methods in Software Engineering: Rigorous and Agile Approaches (FormSERA).

[36]  Marcelo d'Amorim,et al.  Compositional solution space quantification for probabilistic software analysis , 2014, PLDI.

[37]  Zhiming Liu,et al.  Theoretical Aspects of Computing - ICTAC 2004, First International Colloquium, Guiyang, China, September 20-24, 2004, Revised Selected Papers , 2005, ICTAC.

[38]  Nicolai M. Josuttis,et al.  Soa In Practice The Art Of Distributed System Design , 2007 .

[39]  Radu Calinescu,et al.  An incremental verification framework for component-based software systems , 2013, CBSE '13.

[40]  Carlo Ghezzi,et al.  A Syntactic-Semantic Approach to Incremental Verification , 2013, ArXiv.

[41]  Carlo Ghezzi,et al.  Quality Prediction of Service Compositions through Probabilistic Model Checking , 2008, QoSA.

[42]  Corina S. Pasareanu,et al.  Statistical symbolic execution with informed sampling , 2014, Software Engineering & Management.

[43]  Lijun Zhang,et al.  Probabilistic Reachability for Parametric Markov Models , 2009, SPIN.

[44]  Carlo Ghezzi,et al.  Dependability Assessment of Web Service Orchestrations , 2014, IEEE Transactions on Reliability.