Automated Source Code Adaptation for Platform Version Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face challenges in efficiently adapting source code to work across different versions of a programming platform, particularly in accessing newer features of an operating system without significant development efforts, as newer versions often introduce features inaccessible to older versions.

Innovation Solution

A builder computing system automatically adapts source code referencing an API for a newer version of a programming platform to work with an API of an older version, maintaining functionality without requiring extensive developer intervention, by using a functionality injection engine that compiles and processes source code to generate executable files compatible with older versions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If developers manually adapt source code to work with older platform versions, then compatibility with older versions is improved, but development time and effort increase significantly

Engineering Contradiction:
Improveplatform version compatibilityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of API differences between platform versions before compilation, pre-generating adaptation code and compatibility layers. This advance preparation eliminates the need for manual adaptation work during the development process, resolving the contradiction by making compatibility preparation happen automatically beforehand rather than requiring time-consuming manual intervention.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention introduces an intermediary adaptation layer that sits between the source code and the older platform version, automatically translating API calls and maintaining compatibility. This mediator handles the complexity of version differences without requiring developers to manually write adaptation code, thus improving compatibility while minimizing development time investment.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If developers manually shim features from newer to older platform versions, then functionality is maintained across versions, but device complexity and development effort increase

Engineering Contradiction:
Improvefeature accessibility across versionsVSAvoidcode complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system extracts feature adaptation logic from the main source code into separate, automatically generated compatibility modules. By separating the adaptation concerns from the core functionality, the system maintains feature accessibility across versions while keeping the main codebase simple and manageable, resolving the contradiction between functionality and complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

An automatic code generation system acts as an intermediary that creates the necessary shim code between newer features and older platform versions. This automated mediator generates the complexity management code without requiring developers to manually write complex adaptation logic, thus maintaining feature accessibility while avoiding manual complexity increases.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If automated adaptation systems are used to reduce manual intervention, then productivity is improved, but system complexity increases

Engineering Contradiction:
Improvedevelopment efficiencyVSAvoidautomation system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The automated adaptation system performs self-service by automatically analyzing API differences, generating adaptation code, and integrating it without requiring complex external tooling or manual configuration. The system serves its own purpose of code adaptation through built-in intelligence, improving productivity while minimizing the complexity burden on the development environment.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The invention merges the code analysis, adaptation logic generation, and compilation processes into a single integrated workflow. By combining these functions into one unified automated system rather than separate complex tools, the system improves productivity through streamlining while managing overall system complexity through integration rather than multiplication of components.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10331425B2Automated source code adaption to inject features between platform versions
Publication Date: 2019.06.25 GOOGLE LLC
  • US10331425B2 patent drawing
  • US10331425B2 patent drawing
  • US10331425B2 patent drawing

AI summary

In general, techniques are described by which a computing device may automate source code adaption to inject features between platform versions. The computing device may comprise a memory and a processor. The memory may be configured to store source code referencing a first application programming interface for a first version of a programming platform. The processor may be configured to automatically adapt the source code to reference a second application programming interface for a second version of the programming platform such that the source code maintains functionality of the first application programming interface for the first version of the programming platform, and output, based on the automatically adapted source code, an executable file.