An incremental verification framework for component-based software systems

We present a tool-supported framework for the efficient reverification of component-based software systems after changes such as additions, removals or modifications of components. The incremental verification engine at the core of our INcremental VErification STrategy (INVEST) framework uses high-level algebraic representations of component-based systems to identify and execute the minimal set of component-wise reverification steps after a system change. The generality of the INVEST engine allows its integration with existing assume-guarantee verification paradigms. We illustrate this integration for an existing technique for the assume-guarantee verification of probabilistic systems. The resulting instance of the INVEST framework can reverify probabilistic safety properties of a cloud-deployed software system in a fraction of the time required by compositional assume-guarantee verification alone.

[1]  Radu Calinescu,et al.  Dynamic QoS Management and Optimization in Service-Based Systems , 2011, IEEE Transactions on Software Engineering.

[2]  Hongyang Qu,et al.  Incremental Runtime Verification of Probabilistic Systems , 2012, RV.

[3]  Samson Abramsky,et al.  Handbook of logic in computer science. , 1992 .

[4]  Hongyang Qu,et al.  Assume-Guarantee Verification for Probabilistic Systems , 2010, TACAS.

[5]  Sérgio Vale Aguiar Campos,et al.  Compositional Reasoning in Model Checking , 1997, COMPOS.

[6]  Colin Blundell,et al.  Assume-guarantee testing , 2006, SAVCBS '05.

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

[8]  Radu Calinescu,et al.  Emerging Techniques for the Engineering of Self-Adaptive High-Integrity Software , 2013, Assurances for Self-Adaptive Systems.

[9]  Edmund M. Clarke,et al.  Compositional model checking , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[10]  Karl Meinke,et al.  Universal algebra , 1993, LICS 1993.

[11]  Amir Pnueli,et al.  A compositional approach to CTL* verification , 2005, Theor. Comput. Sci..

[12]  Stephan Merz,et al.  Model Checking , 2000 .

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

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

[15]  Radu Calinescu,et al.  Compositional Reverification of Probabilistic Safety Properties for Large-Scale Complex IT Systems , 2012, Monterey Workshop.

[16]  Carlo Ghezzi,et al.  Self-adaptive software needs quantitative verification at runtime , 2012, CACM.

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

[18]  Calin Belta,et al.  Incremental control synthesis in probabilistic environments with Temporal Logic constraints , 2012, 2012 IEEE 51st IEEE Conference on Decision and Control (CDC).

[19]  Kashi Venkatesh Vishwanath,et al.  Characterizing cloud computing hardware reliability , 2010, SoCC '10.

[20]  Kousha Etessami,et al.  Multi-objective Model Checking of Markov Decision Processes , 2007, TACAS.

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