Accurate Analysis of Quality Properties of Software with Observation-Based Markov Chain Refinement

We introduce a tool-supported method for the automated refinement of continuous-time Markov chains (CTMCs) used to assess quality properties of component-based software. Existing research focuses on improving the efficiency of CTMC analysis and on identifying new applications for this analysis. As such, ensuring that the analysis is accurate by using CTMCs that closely model the behaviour of the analysed software has received relatively little attention. Our new method addresses this gap by refining the high-level CTMC model of a component-based software system based on observations of the execution times of its components. Our refinement method reduced analysis errors by 77–90.3% for a service-based system implemented using six public web services from three different providers, improving the accuracy of the analysis and significantly reducing the risk of invalid software engineering decisions.

[1]  Tadashi Dohi,et al.  A Variational Bayesian Approach for Estimating Parameters of a Mixture of Erlang Distribution , 2010 .

[2]  Philipp Reinecke,et al.  Cluster-based fitting of phase-type distributions to empirical data , 2012, Comput. Math. Appl..

[3]  C. O'Cinneide Phase-type distributions: open problems and a few properties , 1999 .

[4]  Radu Calinescu,et al.  Self-adaptive Software with Decentralised Control Loops , 2015, FASE.

[5]  José Merseguer,et al.  Transformation challenges: from software models to performance models , 2014, Software & Systems Modeling.

[6]  Tadashi Dohi,et al.  Communications in Statistics-Simulation and Computation , 2014 .

[7]  Robert K. Brayton,et al.  Verifying Continuous Time Markov Chains , 1996, CAV.

[8]  Petr Novotný,et al.  Optimizing Performance of Continuous-Time Stochastic Systems using Timeout Synthesis , 2014, QEST.

[9]  Radu Calinescu,et al.  Search-Based Synthesis of Probabilistic Models for Quality-of-Service Software Engineering (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[10]  Kishor S. Trivedi,et al.  Stochastic Modeling of Composite Web Services for Closed-Form Analysis of Their Performance and Reliability Bottlenecks , 2007, ICSOC.

[11]  Marta Z. Kwiatkowska,et al.  Stochastic Model Checking , 2007, SFM.

[12]  Moshe Shaked,et al.  Phase Type Distributions , 2004 .

[13]  Lars Grunske,et al.  Evaluating probabilistic models with uncertain model parameters , 2012, Software & Systems Modeling.

[14]  Raffaela Mirandola,et al.  QoS and energy management with Petri nets: A self-adaptive framework , 2012, J. Syst. Softw..

[15]  Joost-Pieter Katoen,et al.  How Fast and Fat Is Your Probabilistic Model Checker? An Experimental Performance Comparison , 2007, Haifa Verification Conference.

[16]  Marta Z. Kwiatkowska,et al.  PRISM 4.0: Verification of Probabilistic Real-Time Systems , 2011, CAV.

[17]  Joost-Pieter Katoen,et al.  Beyond Memoryless Distributions: Model Checking Semi-Markov Chains , 2001, PAPM-PROBMIV.

[18]  Hypererlang approximation of probability distributions on (0, ∞) and its application , 1983 .

[19]  Philipp Reinecke,et al.  HyperStar: Phase-Type Fitting Made Easy , 2012, 2012 Ninth International Conference on Quantitative Evaluation of Systems.

[20]  Radu Calinescu,et al.  Using observation ageing to improve markovian model learning in QoS engineering , 2011, ICPE '11.

[21]  Gabriel Ciobanu,et al.  PHASE: A Stochastic Formalism for Phase-Type Distributions , 2014, ICFEM.

[22]  Steffen Becker,et al.  The Palladio component model for model-driven performance prediction , 2009, J. Syst. Softw..

[23]  Paola Inverardi,et al.  Model-based performance prediction in software development: a survey , 2004, IEEE Transactions on Software Engineering.

[24]  Radu Calinescu,et al.  Efficient runtime quantitative verification using caching, lookahead, and nearly-optimal reconfiguration , 2014, SEAMS 2014.

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

[26]  Philipp Reinecke,et al.  Phase-Type Fitting Using HyperStar , 2013, EPEW.

[27]  Miklós Telek,et al.  Matching More Than Three Moments with Acyclic Phase Type Distributions , 2007 .

[28]  William J. Stewart,et al.  Probability, Markov Chains, Queues, and Simulation: The Mathematical Basis of Performance Modeling , 2009 .

[29]  Carlo Ghezzi,et al.  Formal Verification With Confidence Intervals to Establish Quality of Service Properties of Software Systems , 2016, IEEE Transactions on Reliability.

[30]  Peter Buchholz,et al.  A Novel Approach for Phase-Type Fitting with the EM Algorithm , 2006, IEEE Transactions on Dependable and Secure Computing.

[31]  Radu Calinescu,et al.  CADS*: Computer-Aided Development of Self-* Systems , 2009, FASE.

[32]  C. Murray Woodside,et al.  Enhanced Modeling and Solution of Layered Queueing Networks , 2009, IEEE Transactions on Software Engineering.

[33]  Hiroyuki Okamura,et al.  Fitting Phase-Type Distributions and Markovian Arrival Processes: Algorithms and Tools , 2016 .

[34]  Vojtech Rehák,et al.  Dealing with Zero Density Using Piecewise Phase-Type Approximation , 2014, EPEW.

[35]  Radu Calinescu,et al.  Adaptive model learning for continual verification of non-functional properties , 2014, ICPE.

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

[37]  Radu Calinescu,et al.  Developing self-verifying service-based systems , 2013, 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[38]  Jin Liu,et al.  Segment-based adaptive hyper-Erlang model for long-tailed network traffic approximation , 2008, The Journal of Supercomputing.