Ahead-of-Time Type Information Module for Dynamic Software
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Dynamically-typed software consumes more computing resources due to runtime type information determination, which increases resource usage during execution.
Innovation Solution
A type-information module determines type information ahead-of-time using test suites and symbolic execution, generating a modified software program with stored type information for reduced resource usage during execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If type information is determined at runtime in dynamically-typed software, then programming flexibility is improved, but computing resource consumption increases
Solution Approach 1:
The patent performs type information determination in advance during software development and testing phases, storing the results in a type information database. This preliminary action eliminates the need for runtime type checking, thereby reducing computing resource consumption during execution while preserving the flexibility of dynamically-typed programming.
2Adaptability or versatility
If type information determination is performed during execution, then programming flexibility is maintained, but execution time increases
Solution Approach 1:
Type information is determined and stored in advance during development and testing, so that during execution the software can directly use pre-determined type information without performing type checking operations, thereby reducing execution time while maintaining programming flexibility.
Solution Approach 2:
The patent creates a modified version of the software program that includes pre-determined type information from the type information database. This copied version with embedded type information allows faster execution without sacrificing the flexibility of the original dynamically-typed code.
3Measurement precision
If runtime type checking is performed, then type accuracy is ensured, but computing resource consumption increases
Solution Approach 1:
Type information is determined in advance during development and testing phases with full type checking and validation, ensuring type accuracy. The pre-determined type information is then stored and reused during execution, maintaining type accuracy while eliminating the need for continuous runtime type checking and reducing computing resource consumption.
Data Source
AI summary
According to an aspect of an embodiment, a method of increasing efficiency of a software program may include executing a software program that is developed based on a dynamically-typed programming language. The method may also include determining, during execution of the software program, type information for variables included in the software program. Additionally, the method may include generating a modified software program based on the software program and the type information and distributing the modified software program.


