Sandbox Verification of External Code Using Coverage Thresholds
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computer application providers are hesitant to allow users to import untrusted external software code due to the risk of bugs or security vulnerabilities that can cause malfunctions, making it challenging to verify and execute such code safely in a production environment.
Innovation Solution
A system and method for verifying external software code by executing it in a sandbox environment, generating test data and simulations, monitoring line coverage, and determining trustworthiness before allowing execution in the production environment.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If external software code is allowed to be imported and executed in the computer application, then the functionality and versatility of the application is improved, but the reliability and security of the application deteriorates due to potential bugs and vulnerabilities in untrusted code
Solution Approach 1:
The system segments the execution environment into two distinct parts: a sandbox environment for executing external code and a protected production environment for the main application. This segmentation allows external code to run with isolated permissions, preventing it from affecting the stability of the main application while still enabling functionality extension.
Solution Approach 2:
The sandbox environment acts as an intermediary layer between external code and the production environment. It mediates the execution of untrusted code by providing a controlled interface that limits potential harm while allowing the code to perform its intended functions.
2Ease of operation
If external software code is executed without verification, then the ease of operation is improved, but the reliability deteriorates due to undetected bugs and security issues
Solution Approach 1:
The system performs preliminary verification actions by executing external code in a sandbox environment before allowing it to run in the production environment. This preliminary testing phase generates coverage data and identifies potential issues without compromising the main application.
Solution Approach 2:
The verification process changes the execution parameters of external code by running it with restricted permissions and monitoring conditions in the sandbox environment. These parameter changes enable detection of problematic code behavior without affecting the production environment.
3Reliability
If a sandbox environment with verification process is implemented, then the reliability of external code execution is improved, but the device complexity increases due to additional testing infrastructure
Solution Approach 1:
The system creates a simplified copy of the production environment within the sandbox, including simulated libraries and APIs. This copying approach allows verification without requiring the full complexity of the production system, reducing overall device complexity while maintaining verification effectiveness.
4Reliability
If comprehensive testing with line coverage monitoring is performed, then the reliability of code verification is improved, but the loss of time increases due to multiple test iterations
Solution Approach 1:
The system performs partial verification by monitoring line coverage and determining when sufficient testing has been achieved. Rather than requiring exhaustive testing of all possible code paths, the system verifies enough coverage to confidently assess code safety, reducing verification time while maintaining reliability.
Data Source
AI summary
A method and system for executing external software code with a computer application. The method includes generating test data inputs based on values of interest in the external software code; generating simulations, including simulation parameters based on the values of interest in the external software code, to emulate the behavior of the computer application; executing the external software code in test iterations, using the test data inputs and simulations, in a sandbox environment isolated from a production environment; monitoring a line coverage of the external software code during the execution of the external software code; determining whether the line coverage of the external software code meets the predetermined completion threshold value; and in response to determining that the line coverage of the code meets the predetermined completion threshold value, verifying the external software code for use with the computer application in the production environment, and executing the external software code.


