Build System Resource Management via Code Scanning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing build systems lack efficient resource management, leading to unnecessary resource files being included in applications, causing increased size and runtime errors due to lack of coupling between code and resources, manual intervention requirements, and platform-specific packaging challenges.

Innovation Solution

A process that automates resource management by specifying resources alongside source code, exporting and importing them at build time, and leveraging dead code stripping to identify unused resources, ensuring only referenced resources are included in the application.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual resource management is used in build systems, then developers have control over resource inclusion, but application size increases and runtime errors occur due to missed resource linking

Engineering Contradiction:
Improveresource linking reliabilityVSAvoidapplication size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The build system automatically performs resource management tasks without manual intervention. The system self-services by scanning code for resource references, determining which resources are needed, and configuring the build process accordingly, eliminating the need for developers to manually track and link resources.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical processes (developers manually adding/removing resources) with an automated scanning and analysis system that uses code parsing and pattern recognition to identify resource dependencies and manage resource inclusion automatically.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If all resources are included in the application, then runtime errors are avoided, but application size and system memory usage increase

Engineering Contradiction:
Improveruntime error preventionVSAvoidapplication size
Core Design Contradiction:
ReliabilityVSWeight of moving object

Solution Approach 1:

The system extracts only the specific resources that are actually referenced by the code from the complete set of available resources. By analyzing code references and removing unnecessary resources, it achieves selective inclusion that prevents runtime errors while minimizing application size.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of including all possible resources (excessive action), the system performs partial action by including only the subset of resources that are actually needed based on code analysis, thereby avoiding the overhead of unnecessary resources while still preventing runtime errors.

Inventive Principle:
Principle #16Partial or excessive action

3Manufacturing precision

If manual resource tracking is performed, then resource accuracy can be maintained, but development time and complexity increase

Engineering Contradiction:
Improveresource tracking accuracyVSAvoiddevelopment time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The build system automatically scans code and tracks resource dependencies without requiring manual developer intervention. This self-service approach maintains high accuracy in resource tracking while eliminating the time cost of manual tracking operations.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary scanning and analysis of code during the build preparation phase to identify all resource references before the actual build process. This preliminary action ensures accurate resource tracking is established upfront, preventing the need for time-consuming manual tracking during development iterations.

Inventive Principle:
Principle #10Preliminary action

4Ease of operation

If resources are automatically copied during build, then resource inclusion is simplified, but unnecessary resources are included increasing application size

Engineering Contradiction:
Improveresource inclusion simplicityVSAvoidnumber of resources
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The system extracts only the necessary resources from the complete resource set by analyzing code references. This extraction process maintains the simplicity of automatic resource copying while preventing unnecessary resources from being included in the final application.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The build system uses feedback from code scanning and analysis to dynamically determine which resources should be copied. The feedback mechanism identifies actual resource dependencies and adjusts the resource copying process accordingly, ensuring only needed resources are included while maintaining automated operation.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11328021B2Automatic resource management for build systems
Publication Date: 2022.05.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11328021B2 patent drawing
  • US11328021B2 patent drawing
  • US11328021B2 patent drawing

AI summary

A method may include searching compiled code for a variable name of a resource, the variable name containing a predefined string; identifying a variable name in a resource manifest of the library that matches the variable name that contains the predefined string; based on the identifying, importing the resource to a location associated with the compiled code.