umd-verification: Automation of Software Validation for the EGI Federated e-Infrastructure

Supporting e-Science in the EGI e-Infrastructure requires extensive and reliable software, for advanced computing use, deployed across over approximately 300 European and worldwide data centers. The Unified Middleware Distribution (UMD) and Cloud Middleware Distribution (CMD) are the channels to deliver the software for the EGI e-Infrastructure consumption. The software is compiled, validated and distributed following the Software Provisioning Process (SWPP), where the Quality Criteria (QC) definition sets the minimum quality requirements for EGI acceptance. The growing number of software components currently existing within UMD and CMD distributions hinders the application of the traditional, manual-based validation mechanisms, thus driving the adoption of automated solutions. This paper presents umd-verification, an open-source tool that enforces the fulfillment of the QC requirements in an automated way for the continuous validation of the software products for scientific disposal. The umd-verification tool has been successfully integrated within the SWPP pipeline and is progressively supporting the full validation of the products in the UMD and CMD repositories. While the cost of supporting new products is dependant on the availability of Infrastructure as Code solutions to take over the deployment and high test coverage, the results obtained for the already integrated products are promising, as the time invested in the validation of products has been drastically reduced. Furthermore, automation adoption has brought along benefits for the reliability of the process, such as the removal of human-associated errors or the risk of regression of previously tested functionalities.

[1]  Cmmi Product Team CMMI for Acquisition, Version 1.2 , 2011 .

[2]  Tathagat Varma,et al.  Automated software testing: introduction, management and performance , 2000, SOEN.

[3]  Kai Petersen,et al.  Benefits and limitations of automated software testing: Systematic literature review and practitioner survey , 2012, 2012 7th International Workshop on Automation of Software Test (AST).

[4]  Diego Scardaci,et al.  e-Infrastructures for e-Science: A Global View , 2011, Journal of Grid Computing.

[5]  Jesús Montes,et al.  Riding Out the Storm: How to Deal with the Complexity of Grid and Cloud Management , 2012, Journal of Grid Computing.

[6]  Daniel Sundmark,et al.  Impediments for software test automation: A systematic literature review , 2017, Softw. Test. Verification Reliab..

[7]  James H. Burrows,et al.  Secure Hash Standard , 1995 .

[8]  Jawwad Shamsi,et al.  Data-Intensive Cloud Computing: Requirements, Expectations, Challenges, and Solutions , 2013, Journal of Grid Computing.

[9]  Rick Kazman,et al.  Inception of Software Validation and Verification Practices within CMMI Level 2 , 2009, 2009 Fourth International Conference on Software Engineering Advances.

[10]  Isabel Campos Plasencia,et al.  Validation of Grid Middleware for the European Grid Infrastructure , 2014, Journal of Grid Computing.

[11]  G. Myers,et al.  The Art of Software Testing: Myers/Art , 2012 .

[12]  Edward Kit,et al.  Software testing in the real world - improving the process , 1995 .

[13]  F. Saglietti,et al.  Automated unit and integration testing for component-based software systems , 2010, S&D4RCES '10.

[14]  Katja Karhu,et al.  Trade-off between automated and manual software testing , 2011, Int. J. Syst. Assur. Eng. Manag..

[15]  Michael J. Ryan,et al.  On the Use of the Terms Verification and Validation , 2017 .

[16]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[17]  Russ Housley,et al.  Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile , 2002, RFC.

[18]  Michael R. Lyu,et al.  Optimal release time for software systems considering cost, testing-effort, and test efficiency , 2005, IEEE Transactions on Reliability.

[19]  Andy German,et al.  Static Code Analysis Identification of Safety-critical Software Why Use Static Code Analysis? Software Static Code Analysis Lessons Learned , 2022 .