Ahead-of-Time Type Information Module for Dynamic Software

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprogramming flexibilityVSAvoidcomputing resource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If type information determination is performed during execution, then programming flexibility is maintained, but execution time increases

Engineering Contradiction:
Improveprogramming flexibilityVSAvoidexecution time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

3Measurement precision

If runtime type checking is performed, then type accuracy is ensured, but computing resource consumption increases

Engineering Contradiction:
Improvetype information accuracyVSAvoidcomputing resource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9256398B2Device and method of increasing dynamically-typed software efficiency
Publication Date: 2016.02.09 FUJITSU LTD
  • US9256398B2 patent drawing
  • US9256398B2 patent drawing
  • US9256398B2 patent drawing

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.