Crowdsourced Software Testing via Virtual Machine Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software application marketplaces face challenges in balancing the number and quality of products due to costly quality control testing, often prioritizing which products to test without information on future popularity or profitability, leading to limitations in product offerings.
Innovation Solution
Implementing a crowdsourced testing system that allows users to test software applications in secure environments, using virtual machines and testing tools to generate data for certification, enabling marketplace managers to balance product quantity and quality while delegating testing choices to users.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional centralized quality control testing is used, then product quality can be verified, but testing costs are high and the number of products that can be tested is limited
Solution Approach 1:
The patent divides the centralized quality control function into distributed testing units across multiple user devices. Each user device runs a virtual machine that independently tests software applications, segmenting the testing workload from the marketplace server and enabling parallel testing of multiple products simultaneously.
Solution Approach 2:
User devices automatically perform testing operations on software applications without requiring manual intervention from quality control personnel. The virtual machines on user devices autonomously execute test cases, collect results, and provide feedback to the marketplace server, enabling self-service quality verification.
2Quantity of substance
If more products are made available in the marketplace, then product quantity increases, but quality control becomes more difficult and costly
Solution Approach 1:
The patent introduces virtual machines as intermediary components between user devices and the marketplace server. These virtual machines act as mediators that automatically perform quality control testing, eliminating the need for complex manual testing processes and enabling scalable quality verification as product quantity increases.
Solution Approach 2:
The system changes the operational parameters of quality control by transitioning from manual, centralized testing to automated, distributed testing. This parameter change includes shifting testing execution from quality control personnel to virtual machines on user devices, and changing the testing model from sequential to parallel processing.
3Productivity
If marketplace managers manually prioritize which products to test, then testing resources can be allocated, but decisions must be made without information on future popularity or profitability
Solution Approach 1:
The patent implements a feedback mechanism where testing results from virtual machines are automatically collected and analyzed by the marketplace server. This feedback loop provides real-time information about software application quality, usage patterns, and performance, enabling data-driven decisions about which products to prioritize for testing and certification.
Solution Approach 2:
The system performs preliminary testing actions by automatically running quality control tests on software applications before they are fully certified and made widely available. Virtual machines execute test cases in advance, providing early quality assessment data that helps marketplace managers make informed decisions about product prioritization.
4Productivity
If users are allowed to test software applications, then testing capacity increases, but security risks arise from allowing untrusted applications to run
Solution Approach 1:
The patent implements a nested virtualization structure where a virtual machine runs within the user device's operating system environment. This nesting provides multiple layers of isolation: the virtual machine is contained within the user device, and the marketplace server manages the virtual machine lifecycle. This nested architecture enables users to test applications safely while maintaining security boundaries.
Solution Approach 2:
The virtual machine acts as an intermediary layer between the user device and the software application being tested. This intermediary provides security isolation, allowing untrusted applications to run in a controlled environment that prevents them from directly accessing or harming the host system. The virtual machine mediates all interactions, ensuring security requirements are met while enabling testing capacity.
Data Source
AI summary
An online marketplace for distributing software applications is established. From the online marketplace, devices are enabled to select respective ones of the software applications and initiate testing of the selected software applications in connection with testing tools operating in respective secure testing environments that shield the devices from potential adverse effects arising from testing the selected software applications. The testing tools generate testing data relating to one or more criteria for certifying the selected software applications. For each of one or more of the selected software applications, a determination is made whether or not to classify the software application as a certified software application based on an evaluation of the testing data generated during the testing of the software applications initiated by a plurality of the devices.


