Software Application Optimization via Unused Module Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software applications often contain unused or obsolete components that consume resources and slow down the application, making it difficult for conventional systems to identify and remove them without causing application failures.

Innovation Solution

A deterministic method is implemented to identify unused software modules by tracking their usage during application execution, generating reports, and analyzing metrics to determine which modules are obsolete, allowing for their removal and reordering or combination to optimize the application.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software modules are added to provide new functionality, then adaptability and versatility improve, but device complexity and application bulk increase

Engineering Contradiction:
Improvesoftware functionalityVSAvoidapplication complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the software application into modular components, allowing individual modules to be independently identified, analyzed, and managed. This segmentation enables the system to track which specific modules are used and which are obsolete, making it possible to remove unnecessary modules without affecting the entire application.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a mechanism to identify and discard obsolete software modules that are no longer used by the application. By systematically removing these unused modules, the application maintains adaptability while reducing complexity and resource consumption.

Inventive Principle:
Principle #34Discarding and recovering

2Adaptability or versatility

If software modules are added over time, then adaptability improves, but boot-up time and resource consumption increase

Engineering Contradiction:
Improvesoftware functionalityVSAvoidboot-up time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary analysis during application execution to identify which modules are actually used. This preliminary action allows the system to prepare an optimized module configuration that can be deployed in future versions, reducing boot-up time while preserving necessary functionality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

By identifying and removing obsolete modules that contribute to boot-up time and resource consumption, the patent reduces the application's size and startup requirements while maintaining the adaptability needed for core functionality.

Inventive Principle:
Principle #34Discarding and recovering

3Loss of energy

If unused modules are removed to reduce application bulk, then resource consumption decreases, but application reliability may worsen due to potential failures

Engineering Contradiction:
Improveresource consumptionVSAvoidapplication stability
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The patent implements a feedback mechanism that tracks module usage during application execution. This feedback information is used to make informed decisions about which modules can be safely removed, ensuring that only truly unused modules are discarded and that removal decisions do not compromise application reliability.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent replaces manual or heuristic module removal approaches with an automated, data-driven system that uses runtime tracking and analysis to identify obsolete modules, reducing the risk of erroneous removal decisions that could harm application stability.

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

4Ease of operation

If manual module removal is performed based on developer suspicion, then ease of operation improves, but reliability worsens due to potential application failures

Engineering Contradiction:
Improvemodule removal easeVSAvoidapplication stability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent enables the system to automatically identify and flag obsolete modules based on runtime usage data, eliminating the need for developers to manually guess which modules are unused. This self-service approach provides objective, data-driven guidance for module removal decisions.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual developer judgment with an automated analysis system that uses runtime tracking data to identify obsolete modules, providing a more reliable and less error-prone method for determining which modules can be safely removed.

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

Data Source

PatentUS10747551B2Software application optimization
Publication Date: 2020.08.18 SALESFORCE INC
  • US10747551B2 patent drawing
  • US10747551B2 patent drawing
  • US10747551B2 patent drawing

AI summary

Embodiments of the present disclosure relate to software optimization by identifying unused/obsolete components of a software application. Other embodiments may be described and/or claimed.