Improve Quality of Cloud Serverless Architectures through Software Repository Mining
Public cloud services have truly come of age for enterprises worldwide, with global spend forecast to grow 47.2% in 2022, reaching $397.4 billion, up from $270 billion in 2020, according to Gartner research. According to another analyst, Verified Market Research, the global Serverless architecture market size was valued at USD 7.29 billion in 2020 and is projected to reach USD 36.84 billion by 2028, growing at a CAGR of 21.71% from 2021 to 2028. With the growing complexity of cloud applications, meeting the demand of going from prototype to production to planet-scale is challenging. Serverless architectures ensure pay-as-you-go and can be invoked and scaled individually. Serverless is a method for executing functions and running cloud compute services on an as-needed basis. Serverless is the most scalable and cost-effective method for cloud computing. Enterprises that are adopting serverless architectures, can achieve their speed-to-market and business functionality goals only with a rigorous focus on quality from the start of their cloud journey and keep it up throughout. The goal? To increase quality, reduce cost and improve time-to-market across the journey to cloud.
The challenge : In the current process of serverless applications/functions development, the build is done locally using Serverless framework using frameworks provided by all major cloud providers like AWS SAM, Azure Functions Core Tools, etc. These frameworks allow developers to simulate the cloud services locally for development purpose. An issue with these frameworks is they only work with their respective cloud provider. E.g. AWS SAM works only with AWS. The System & Integration test phase is optional and rarely performed. If it gets included the process is completely manual through the cloud console - lets assume its an AWS instance, hence Lambda console. System and Integration testing is often skipped as its time consuming since serverless functions often do not have a UI, and black-box testing is not possible. This increases the risk of defect leakage thus exponentially raising the cost of using serverless architectures. Serverless function testing is critical to mitigate that risk.
The Solution : Our solution is a self-service tool that aids both developers and testers. Using our tool, one can execute System & Integration testing in a completely autonomous manner. This is achieved by data mining of software repositories. 1. Unit testing coverage reports mining
2. Code repository mining The solution engine is designed to mine the above repositories and detect changes, when a new code build is deployed. Based on identified changes, it generates test scripts using an automation engine. These scripts along with a synthetic data generator are pushed to be executed on the serverless lambda functions. The AI based self-healing module ensures scripts are automatically updated to provide seamless execution of automated test scripts. The solution identifies faults on the serverless lambda functions in the shortest possible time, that are usually extremely challenging to find.
The Benefits : • The solution business logic is separate from the FaaS provider (AWS, GCP, Azure, etc.), to keep it provider-independent and reusable across hyperscalers. • The entire process is autonomous right from test scenario creation to seamless execution along with self-healing of the scripts. • Ability to test functions triggered from other functions • Improved code and test coverage to over 90% thus leading to lower defect leakage and improved E2E cycle time. • The solution is designed to be a self-service tool which both developers and testers can use.
Thu 19 MayDisplayed time zone: Eastern Time (US & Canada) change
04:00 - 04:50 | Session 9: Scaling & CloudIndustry Track / Registered Reports / Data and Tool Showcase Track / Technical Papers at MSR Main room - even hours Chair(s): Lwin Khin Shar Singapore Management University | ||
04:00 4mTalk | SniP: An Efficient Stack Tracing Framework for Multi-threaded Programs Data and Tool Showcase Track Arun KP Indian Institute of Technology Kanpur, Saurabh Kumar Indian Institute of Technology Kanpur, Debadatta Mishra , Biswabandan Panda Indian Institute of Technology Bombay DOI Pre-print | ||
04:04 4mTalk | Tooling for Time- and Space-efficient git Repository Mining Data and Tool Showcase Track Fabian Heseding Hasso Plattner Institute, Digital Engineering Faculty, University of Potsdam, Willy Scheibel Hasso Plattner Institute, Digital Engineering Faculty, University of Potsdam, Jürgen Döllner Hasso Plattner Institute, Digital Engineering Faculty, University of Potsdam | ||
04:08 4mTalk | TSSB-3M: Mining single statement bugs at massive scale Data and Tool Showcase Track Cedric Richter Carl von Ossietzky Universität Oldenburg / University of Oldenburg, Heike Wehrheim Carl von Ossietzky Universität Oldenburg / University of Oldenburg Pre-print Media Attached | ||
04:12 7mTalk | Improved Business Outcomes from Cloud Applications – using Integrated Process and Runtime Product Data Mining Industry Track | ||
04:19 7mTalk | Improve Quality of Cloud Serverless Architectures through Software Repository Mining Industry Track | ||
04:26 4mTalk | Toward Granular Automatic Unit Test Case Generation Registered Reports Fabiano Pecorelli Tampere University, Giovanni Grano LocalStack, Fabio Palomba University of Salerno, Harald C. Gall University of Zurich, Andrea De Lucia University of Salerno Pre-print | ||
04:30 20mLive Q&A | Discussions and Q&A Technical Papers |