Fingerprint Inference for Software Artifact Version Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large software projects, tracking libraries and their versions is challenging due to the dynamic nature of software development, which complicates identifying security vulnerabilities and outdated libraries.

Innovation Solution

A method and system that generate request fingerprints from classes, query an index to identify matching artifact versions, and select the subset with the maximal count of matching fingerprints, using a fingerprint repository with two tiers of granularity to distinguish between artifacts and versions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If traditional library tracking methods are used in large software projects, then developers can maintain source code, but they cannot effectively track libraries and versions in compiled binary code

Engineering Contradiction:
Improvelibrary version informationVSAvoidsoftware analysis system
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent replaces manual/traditional library tracking methods with an automated fingerprinting system. The system generates cryptographic fingerprints from binary code and uses automated matching algorithms to identify libraries and versions, substituting the mechanical process of manual tracking with an automated computational approach that can process compiled binary code effectively

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

Solution Approach 2:

The patent creates cryptographic fingerprints (copies) of library binaries that can be stored and matched without needing the actual binary files. These fingerprint copies enable tracking and identification of libraries and versions through hash-based matching, allowing the system to identify libraries in complex software projects without requiring access to the original source code or binary files

Inventive Principle:
Principle #26Copying

2Reliability

If comprehensive library tracking is implemented, then security vulnerabilities can be identified, but the complexity of managing multiple libraries and versions increases

Engineering Contradiction:
Improvesecurity vulnerability identificationVSAvoidlibrary management system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent replaces complex manual library management with automated fingerprint-based identification. The system automatically generates fingerprints, queries databases, and identifies security vulnerabilities through automated matching processes, reducing the complexity of managing multiple libraries and versions while improving reliability of vulnerability detection

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

Solution Approach 2:

The patent introduces fingerprint databases and matching algorithms as intermediaries between the binary code and the library identification process. These intermediaries simplify the management of multiple libraries and versions by providing a standardized interface for querying and matching, reducing the direct complexity of managing diverse library formats and versions

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If fingerprint matching is performed for all artifact versions, then accurate version identification is achieved, but the query time and computational resources increase

Engineering Contradiction:
Improveartifact version identification accuracyVSAvoidquery processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the fingerprint matching process into hierarchical levels, first matching at the artifact level and then at the version level. This segmentation allows the system to quickly eliminate non-matching artifacts before performing more detailed version-level matching, reducing overall query time while maintaining accurate version identification

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs partial matching by first identifying matching artifacts and then selectively performing full version-level matching only on those artifacts. This partial action approach reduces the total computational burden by avoiding exhaustive matching of all artifact versions, thereby reducing query processing time while maintaining identification accuracy

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20240086185A1Fingerprint inference of software artifacts
Publication Date: 2024.03.14 ORACLE INT CORP
  • US20240086185A1 patent drawing
  • US20240086185A1 patent drawing
  • US20240086185A1 patent drawing

AI summary

Fingerprint inference of software artifacts includes receiving a request including classes, generating request fingerprints from the classes, and querying at least one index with the request fingerprints to identify a matching set of artifact versions. Fingerprint inference further includes obtaining, for each matching artifact version in the matching set of artifact versions, a count of the request fingerprints matching a indexed fingerprint related, in the at least one index, to the artifact version, and selecting a subset of the matching set of artifact versions having a count that is maximal amongst the matching set of artifact versions. Fingerprint inference further includes returning the subset of the matching set of artifact versions.