Formal verification approaches and standards in the cloud computing: A comprehensive and systematic review

Providing a summary of the current challenges related to the formal verification approaches in the cloud computing.Presenting a Systematic Literature Review (SLR) method for the formal verification approaches in the cloud computing topics.Discussing the important factors of formal verification approaches in the cloud environment to improve their problems in the future. Cloud computing as a new internet-based computing model provides different resources as a service dynamically. Today, cloud computing is actually one of the main improvements in the computing procedure. However, by raising user interactions, the complexity of cloud processes is increasing with the advancement of technology. To evaluate the cloud computing challenges, the simulation experiments just satisfy the non-functional properties with a limited majority in forms of QoS factors. In addition, using simulation approaches have not been sufficient for developed complex cloud services that omit some critical test cases in the state space of the model. On the other hand, formal verification is an essential section in the complex information systems development that satisfies both functional and non-functional properties. Therefore, it is essential that the cloud systems use formal verification approaches for increasing the correctness of the system quality in all of the state space of the model. Despite the importance of the formal verification approaches in the cloud environments, to the best of our knowledge, there is not any systematic, comprehensive and detailed survey and review in the field of formal verification approaches and standards in the cloud computing. This paper provides a Systematic Literature Review (SLR) method to examine the current technical studies (published between 2011 and July 2017) in formal verification of the cloud computing. Also, this paper categorizes the formal verification approaches in three classic fields: specification and process algebra, model checking, and theorem proving. The verification approaches are compared with each other according to some technical properties such as specification methods, modeling approaches, verification tools and verification methods. The advantages and disadvantages of each selected study as well as some hints are discussed for solving their problems. The brief contributions of this paper are as follows: (1) providing a comprehensive literature review of the formal verification approaches in the cloud computing, (2) designing a technical taxonomy for the verification approaches in various modeling and specification methods, (3) presenting a technical analysis and comparison for the main challenges of the formal verification in the cloud and (4) highlighting the future open issues in the recent topics.

[1]  Pearl Brereton,et al.  Systematic literature reviews in software engineering - A systematic literature review , 2009, Inf. Softw. Technol..

[2]  Nima Jafari Navimipour,et al.  Deployment strategies in the wireless sensor network: A comprehensive review , 2016, Comput. Commun..

[3]  Álvaro López García,et al.  Standards for enabling heterogeneous IaaS cloud federations , 2016, Comput. Stand. Interfaces.

[4]  Boris Vleju,et al.  A Formal Model of Client-Cloud Interaction , 2015, Correct Software in Web Applications and Web Services.

[5]  Kais Klai,et al.  A Formal Approach for Service Composition in a Cloud Resources Sharing Context , 2016, 2016 16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid).

[6]  Magdy S. Abadir,et al.  A Survey of Hybrid Techniques for Functional Verification , 2007, IEEE Design & Test of Computers.

[7]  Alireza Souri Formal Specification and Verification of a Data Replication Approach in Distributed Systems , 2016, Int. J. Next Gener. Comput..

[8]  Petr Hnetynka,et al.  Verification of Use-Cases with FOAM Tool in Context of Cloud Providers , 2015, 2015 41st Euromicro Conference on Software Engineering and Advanced Applications.

[9]  William R. Harris,et al.  Complexity verification using guided theorem enumeration , 2017, POPL.

[10]  Mohammad Teshnehlab,et al.  Formal process algebraic modeling, verification, and analysis of an abstract Fuzzy Inference Cloud Service , 2013, The Journal of Supercomputing.

[11]  Neelanarayanan Venkataraman,et al.  A Novel Approach to Address Interoperability Concern in Cloud Computing , 2015 .

[12]  Shoichi Morimoto,et al.  A Survey of Formal Verification for Business Process Modeling , 2008, ICCS.

[13]  Samee Ullah Khan,et al.  Modeling and Analysis of State-of-the-art VM-based Cloud Management Platforms , 2013, IEEE Transactions on Cloud Computing.

[14]  N. B. Anuar,et al.  The rise of "big data" on cloud computing: Review and open research issues , 2015, Inf. Syst..

[15]  Zahid Raza,et al.  A systematic study of double auction mechanisms in cloud computing , 2017, J. Syst. Softw..

[16]  V. Parida,et al.  Product–Service Systems (PSS) business models and tactics – a systematic literature review , 2015 .

[17]  Francesco Palmieri,et al.  Modeling security requirements for cloud‐based system development , 2015, Concurr. Comput. Pract. Exp..

[18]  Gail-Joon Ahn,et al.  Cooperative Provable Data Possession for Integrity Verification in Multicloud Storage , 2012, IEEE Transactions on Parallel and Distributed Systems.

[19]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[20]  Mingxu Yi,et al.  Efficient integrity verification of replicated data in cloud computing system , 2017, Comput. Secur..

[21]  Xiaojun Zhang,et al.  SCLPV: Secure Certificateless Public Verification for Cloud-Based Cyber-Physical-Social Systems Against Malicious Auditors , 2015, IEEE Transactions on Computational Social Systems.

[22]  Junliang Chen,et al.  Constructing scalable Internet of Things services based on their event‐driven models , 2015, Concurr. Comput. Pract. Exp..

[23]  Xiaohong Li,et al.  Formal Modeling and Verification of Security Protocols on Cloud Computing Systems Based on UML 2.3 , 2016, 2016 IEEE Trustcom/BigDataSE/ISPA.

[24]  Jamal Bentahar,et al.  Model checking temporal knowledge and commitments in multi-agent systems using reduction , 2015, Simul. Model. Pract. Theory.

[25]  Serna-M. Edgar,et al.  State of the Art in the Research of Formal Verification , 2014 .

[26]  Shaohua Tang,et al.  Verifiable computation with access control in cloud computing , 2013, The Journal of Supercomputing.

[27]  Harald Ganzinger,et al.  Rewrite-Based Equational Theorem Proving with Selection and Simplification , 1994, J. Log. Comput..

[28]  Nima Jafari Navimipour,et al.  Cloud computing and trust evaluation: A systematic literature review of the state-of-the-art mechanisms , 2018, Journal of Electrical Systems and Information Technology.

[29]  Shenghui Zhao,et al.  A Formal Validation Method for Trustworthy Services Composition , 2016, 2016 International Conference on Networking and Network Applications (NaNA).

[30]  Benjamin Aziz,et al.  A formal model and analysis of an IoT protocol , 2016, Ad Hoc Networks.

[31]  Jinjun Chen,et al.  External integrity verification for outsourced big data in cloud and IoT: A big picture , 2015, Future Gener. Comput. Syst..

[32]  Nima Jafari Navimipour,et al.  Cloud services recommendation: Reviewing the recent advances and suggesting the future research directions , 2017, J. Netw. Comput. Appl..

[33]  Nima Jafari Navimipour,et al.  Customer relationship management mechanisms: A systematic review of the state of the art literature and recommendations for future research , 2016, Comput. Hum. Behav..

[34]  Amir Masoud Rahmani,et al.  A Survey for Replica Placement Techniques in Data Grid Environment , 2014 .

[35]  Raouf Boutaba,et al.  Cloud computing: state-of-the-art and research challenges , 2010, Journal of Internet Services and Applications.

[36]  Nima Jafari Navimipour,et al.  Behavioral modeling and formal verification of a resource discovery approach in Grid computing , 2014, Expert Syst. Appl..

[37]  Cheng Wu,et al.  Formal Verification of Temporal Properties for Reduced Overhead in Grid Scientific Workflows , 2011, Journal of Computer Science and Technology.

[38]  Yamine Ait-Ameur,et al.  Formal Modelling and Verification of Transactional Web Service Composition: A Refinement and Proof Approach with Event-B , 2015 .

[39]  Michele Amoretti,et al.  A formalized framework for mobile cloud computing , 2014, Service Oriented Computing and Applications.

[40]  Athanasios V. Vasilakos,et al.  Cloud robotics: Current status and open issues , 2016, IEEE Access.

[41]  Hiroyuki Yoshida,et al.  Formalization and Verification of Declarative Cloud Orchestration , 2015, ICFEM.

[42]  Fabienne Boyer,et al.  An experience report on the verification of autonomic protocols in the cloud , 2013, Innovations in Systems and Software Engineering.

[43]  Nima Jafari Navimipour,et al.  A new method for trust and reputation evaluation in the cloud environments using the recommendations of opinion leaders' entities and removing the effect of troll entities , 2016, Comput. Hum. Behav..

[44]  Amir Masoud Rahmani,et al.  Load-balancing algorithms in cloud computing: A survey , 2017, J. Netw. Comput. Appl..

[45]  Kim-Kwang Raymond Choo,et al.  A Cross Tenant Access Control (CTAC) Model for Cloud Computing: Formal Specification and Verification , 2017, IEEE Transactions on Information Forensics and Security.

[46]  Sai Peck Lee,et al.  A semantic interoperability framework for software as a service systems in cloud computing environments / Reza Rezaei , 2014 .

[47]  Sjouke Mauw,et al.  An Algebraic Specification of Process Algebra, Including Two Examples , 1987, Algebraic Methods.

[48]  Shufen Zhang,et al.  Cloud Computing Research and Development Trend , 2010, 2010 Second International Conference on Future Networks.

[49]  Mark R. Greenstreet,et al.  Formal verification in hardware design: a survey , 1999, TODE.

[50]  Anand Srivastav,et al.  Finding optimal volume subintervals with k points and calculating the star discrepancy are NP-hard problems , 2009, J. Complex..

[51]  Manuel Díaz,et al.  State-of-the-art, challenges, and open issues in the integration of Internet of things and cloud computing , 2016, J. Netw. Comput. Appl..

[52]  Armin Biere,et al.  A survey of recent advances in SAT-based formal verification , 2005, International Journal on Software Tools for Technology Transfer.

[53]  G. Sahoo,et al.  Minimizing the Energy Consumption of Cloud Computing Data Centers Using Queueing Theory , 2017 .

[54]  Xiaoyuan Yang,et al.  Improved verifiability scheme for data storage in cloud computing , 2011, Wuhan University Journal of Natural Sciences.

[55]  Amir Masoud Rahmani,et al.  Cloud computing service negotiation: A systematic review , 2018, Comput. Stand. Interfaces.

[56]  Muhammad Shafique,et al.  Theorem proving based Formal Verification of Distributed Dynamic Thermal Management schemes , 2017, J. Parallel Distributed Comput..

[57]  Thomas Leich,et al.  A Survey on Modeling Techniques for Formal Behavioral Verification of Software Product Lines , 2015, VaMoS.

[58]  Peng Wang,et al.  Mobile Cloud Computing System Components Composition Formal Verification Method Based on Space-Time Pi-Calculus , 2015, CloudComp.

[59]  Ahmad Habibizad Navin,et al.  Expert Cloud: A Cloud-based framework to share the knowledge and skills of human resources , 2015, Comput. Hum. Behav..

[60]  Gwen Salaün,et al.  Formal design of dynamic reconfiguration protocol for cloud applications , 2016, Sci. Comput. Program..

[61]  Fabienne Boyer,et al.  Reliable self‐deployment of distributed cloud applications , 2017, Softw. Pract. Exp..

[62]  Bin Zhang,et al.  A verification framework with application to a propulsion system , 2014, Expert Syst. Appl..

[63]  Stefan Seuring,et al.  From a literature review to a conceptual framework for sustainable supply chain management , 2008 .

[64]  Jing Li,et al.  Automatic Verification of Security of OpenID Connect Protocol with ProVerif , 2016, 3PGCIC.

[65]  Flora Amato,et al.  Pattern-based orchestration and automatic verification of composite cloud services , 2016, Comput. Electr. Eng..

[66]  Jing Li,et al.  Security Analysis of OpenID Connect Protocol with Cryptoverif in the Computational Model , 2016, 3PGCIC.

[67]  Dugki Min,et al.  Survey on CPN Applications in Cloud Computing , 2016, CSA/CUTE.

[68]  Ye Wang,et al.  A cloud service discovery approach based on FCA , 2012, 2012 IEEE 2nd International Conference on Cloud Computing and Intelligence Systems.

[69]  Zhiguang Qin,et al.  A secure and privacy-preserving mobile wallet with outsourced verification in cloud computing , 2017, Comput. Stand. Interfaces.

[70]  Kim G. Larsen,et al.  Compositional bisimulation metric reasoning with Probabilistic Process Calculi , 2016, Log. Methods Comput. Sci..

[71]  Yongwang Zhao,et al.  Towards a Formal Verification Approach for Implementation of Web Services Specifications , 2010, 2010 IEEE Asia-Pacific Services Computing Conference.

[72]  Vincent C. Hu,et al.  Security policy verification for multi-domains in cloud systems , 2014, International Journal of Information Security.

[73]  Daniel Kroening,et al.  A Survey of Automated Techniques for Formal Software Verification , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[74]  Amjad Gawanmeh,et al.  Challenges in Formal Methods for Testing and Verification of Cloud Computing Systems , 2015, Scalable Comput. Pract. Exp..

[75]  Nima Jafari Navimipour,et al.  A formal approach for the specification and verification of a Trustworthy Human Resource Discovery mechanism in the Expert Cloud , 2015, Expert Syst. Appl..

[76]  Mohamed Graiet,et al.  Event-B Based Approach for Verifying Cloud Resource Allocation in Business Process , 2015, 2015 IEEE International Conference on Services Computing.

[77]  Alireza Souri,et al.  Analyzing SMV & UPPAAL model checkers in real-time systems , 2012 .

[78]  Pearl Brereton,et al.  Lessons from applying the systematic literature review process within the software engineering domain , 2007, J. Syst. Softw..

[79]  Paolo Arcaini,et al.  ASM-based formal design of an adaptivity component for a Cloud system , 2016, Formal Aspects of Computing.

[80]  Paul Watson,et al.  Formalising Workflows Partitioning over Federated Clouds: Multi-level Security and Costs , 2012, 2012 IEEE Eighth World Congress on Services.

[81]  Maciej Koutny,et al.  Formal verification of secure information flow in cloud computing , 2016, J. Inf. Secur. Appl..

[82]  Christel Baier,et al.  Principles of Model Checking (Representation and Mind Series) , 2008 .

[83]  Kristin Yvonne Rozier,et al.  Linear Temporal Logic Symbolic Model Checking , 2011, Comput. Sci. Rev..

[84]  Flora Amato,et al.  Exploiting Cloud and Workflow Patterns for the Analysis of Composite Cloud Services , 2017, Future Gener. Comput. Syst..

[85]  Xiao Chen,et al.  Exploring Fog Computing-Based Adaptive Vehicular Data Scheduling Policies Through a Compositional Formal Method—PEPA , 2017, IEEE Communications Letters.

[86]  Hazem A Elbaz,et al.  Analysis and Verification of a Key Agreement Protocol over Cloud Computing Using Scyther Tool , 2015 .

[87]  Tolga Ovatman,et al.  Design and formal verification of a cloud compliant secure logging mechanism , 2016, IET Inf. Secur..

[88]  Wiwat Vatanawood,et al.  Formal verification of cloud orchestration design with TOSCA and BPEL , 2016, 2016 13th International Conference on Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology (ECTI-CON).

[89]  Nima Jafari Navimipour,et al.  A method for trust evaluation in the cloud environments using a behavior graph and services grouping , 2017, Kybernetes.

[90]  Jamal Bentahar,et al.  On the soundness, completeness and applicability of the logic of knowledge and communicative commitments in multi-agent systems , 2016, Expert Syst. Appl..

[91]  Sofiène Tahar,et al.  Formal verification of analog and mixed signal designs: A survey , 2008, Microelectron. J..

[92]  Atri Rudra,et al.  Bidirectional data verification for cloud storage , 2014, J. Netw. Comput. Appl..

[93]  Valeriy Vyatkin,et al.  Cloud-Based Framework for Practical Model-Checking of Industrial Automation Applications , 2015, DoCEIS.

[94]  Farn Wang,et al.  Formal verification of timed systems: a survey and perspective , 2004, Proceedings of the IEEE.

[95]  Mehdi Dehghan,et al.  A comprehensive survey of energy-aware routing protocols in wireless body area sensor networks , 2016, Journal of Medical Systems.

[96]  Wei Yuan,et al.  An integrated framework of formal methods for interaction behaviors among industrial equipments , 2015, Microprocess. Microsystems.

[97]  Quan Z. Sheng,et al.  Transactional Behavior Verification in Business Process as a Service Configuration , 2019, IEEE Transactions on Services Computing.

[98]  Nima Jafari Navimipour,et al.  Load balancing mechanisms and techniques in the cloud environments: Systematic literature review and future trends , 2016, J. Netw. Comput. Appl..

[99]  Suddhasil De,et al.  Modeling decoupled mobile cloud computing using Mobile UNITY , 2016, Concurr. Comput. Pract. Exp..

[100]  Mohammed Alodib QoS-Aware approach to monitor violations of SLAs in the IoT , 2016, J. Innov. Digit. Ecosyst..

[101]  Diego Pérez Leándrez,et al.  Formal performance evaluation of the Map/Reduce framework within cloud computing , 2015, The Journal of Supercomputing.

[102]  Joost-Pieter Katoen,et al.  Process algebra for performance evaluation , 2002, Theor. Comput. Sci..

[103]  Rory O'Connor,et al.  Software Engineering Education and Games: A Systematic Literature Review , 2016, J. Univers. Comput. Sci..

[104]  Samir Ouchani,et al.  Specification, verification, and quantification of security in model-based systems , 2015, Computing.

[105]  Mourad Debbabi,et al.  Verification of firewall reconfiguration for virtual machines migrations in the cloud , 2015, Comput. Networks.

[106]  Alireza Souri,et al.  Formalizing and Verification of an Antivirus Protection Service using Model Checking , 2015 .

[107]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[108]  Nima Jafari Navimipour,et al.  An improved genetic algorithm for task scheduling in the cloud environments using the priority queues: Formal verification, simulation, and statistical testing , 2017, J. Syst. Softw..

[109]  Ahmad Habibizad Navin,et al.  Resource discovery mechanisms in grid systems: A survey , 2014, J. Netw. Comput. Appl..

[110]  Ning Xi,et al.  Secure service composition with information flow control in service clouds , 2015, Future Gener. Comput. Syst..

[111]  Jordi Cabot,et al.  Formal verification of static software models in MDE: A systematic review , 2014, Inf. Softw. Technol..

[112]  Ahmad Habibizad Navin,et al.  Behavioral modeling and automated verification of a Cloud-based framework to share the knowledge and skills of human resources , 2015, Comput. Ind..

[113]  Nima Jafari Navimipour,et al.  Human resources ranking in a cloud-based knowledge sharing framework using the quality control criteria , 2017, Kybernetes.

[114]  Nima Jafari Navimipour,et al.  A comprehensive review of the data replication techniques in the cloud environments: Major trends and future directions , 2016, J. Netw. Comput. Appl..

[115]  Maria Ganzha,et al.  Semantic interoperability in the Internet of Things: An overview from the INTER-IoT perspective , 2017, J. Netw. Comput. Appl..

[116]  Guido Marchetto,et al.  Formal verification of LTE-UMTS and LTE-LTE handover procedures , 2017, Comput. Stand. Interfaces.

[117]  Nima Jafari Navimipour,et al.  A hybrid particle swarm optimization and hill climbing algorithm for task scheduling in the cloud environments , 2017, ICT Express.

[118]  Wei-Tek Tsai,et al.  Multi-tenant Verification-as-a-Service (VaaS) in a cloud , 2016, Simul. Model. Pract. Theory.

[119]  R. BurchJ.,et al.  Symbolic model checking , 1992 .

[120]  D. Ross Jeffery,et al.  An empirical research agenda for understanding formal methods productivity , 2015, Inf. Softw. Technol..

[121]  Peng Gao,et al.  Robot Cloud: Bridging the power of robotics and cloud computing , 2017, Future Gener. Comput. Syst..

[122]  Alireza Souri,et al.  A new probable decision making approach for verification of probabilistic real-time systems , 2015, 2015 6th IEEE International Conference on Software Engineering and Service Science (ICSESS).

[123]  Tao Zhang,et al.  Verifying integrity of exception handling in service-oriented software , 2017, Int. J. Grid Util. Comput..

[124]  Rory O'Connor,et al.  Situational Factors in Safety Critical Software Development , 2016, EuroSPI.