Software Installation Assessment via Native Code Instrumentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

IT administrators face challenges in understanding and managing software application installations due to the lack of information about native code, which is often not documented, making it difficult to decide on retiring or transitioning software applications within an enterprise network.

Innovation Solution

A method and system that extracts native code from software application installations, executes it, and provides information to users about its execution, allowing them to assess deployment and un-deployment by logging API calls and modifying installation parameters.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software installations execute native compiled code to complete installation processes, then installation functionality and dependency management are improved, but information about the underlying behaviors and dependencies is lost

Engineering Contradiction:
Improveinstallation functionalityVSAvoidinformation about underlying behaviors and dependencies
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent creates a virtual copy of the native code execution environment by instrumenting the installation process. It copies the behavior of native code execution into a form that can be observed and analyzed, allowing IT administrators to understand dependencies without accessing the original source code or physical installation media.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces an intermediary layer (instrumentation module) that sits between the native code execution and the installation process. This intermediary captures and logs API calls, registry modifications, and file operations, translating opaque native code behavior into observable information about dependencies and behaviors.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Extent of automation

If IT administrators do not have physical access to original source code, then security and distribution are improved, but ability to understand and manage software dependencies deteriorates

Engineering Contradiction:
Improvesoftware distributionVSAvoidability to understand and manage software dependencies
Core Design Contradiction:
Extent of automationVSEase of operation

Solution Approach 1:

The patent enables the software installation package to self-reveal its dependencies and behaviors through instrumentation. The installation executable automatically logs its own API calls, registry operations, and file modifications, providing self-documentation without requiring external source code or physical media.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements a feedback mechanism where the instrumentation module captures execution information and provides it back to IT administrators in an analyzable format. This feedback loop transforms opaque installation processes into transparent, observable events that can be managed and understood.

Inventive Principle:
Principle #23Feedback

3Reliability

If native code is embedded in software installations without documentation, then installation robustness is improved, but difficulty in assessing deployment and un-deployment increases

Engineering Contradiction:
Improveinstallation robustnessVSAvoiddifficulty in assessing deployment and un-deployment
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent extracts the hidden information about native code behavior by instrumenting the execution process. It pulls out API calls, registry modifications, and file operations from within the native code execution, separating these observable events from the opaque compiled code that embeds them.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8418170B2Method and system for assessing deployment and un-deployment of software installations
Publication Date: 2013.04.09 FLEXERA SOFTWARE LLC
  • US8418170B2 patent drawing
  • US8418170B2 patent drawing
  • US8418170B2 patent drawing

AI summary

A method and system for assessing deployment and un-deployment of a software application installation are disclosed. In one embodiment, the method comprises receiving as an input a software application installation. Native code is extracted from the software application installation and executed. Information regarding the execution of the native code is provided to a user.