Binary Scan Engine Parallel Pattern Matching Software Compliance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software due diligence systems face challenges in efficiently reviewing and ensuring compliance with open source licenses, intellectual property rights, and export regulations due to the complexity of managing large code bases, binary files, and the lack of effective mechanisms for tracking license compatibility and undocumented open source components.

Innovation Solution

A system and method that utilizes a binary scan engine, parallel pattern matching, a code provenance engine, and a workflow engine to automate the review of software components for compliance, including tracking licenses, identifying undocumented open source, and generating compliance reports, while integrating with build systems to ensure continuous review and validation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential pattern matching is used to review software components, then false negatives are minimized, but productivity decreases substantially as the number of software components increases

Engineering Contradiction:
Improvecompliance review accuracyVSAvoidreview speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the compliance review task into multiple independent threads that can process different software components simultaneously. Each thread handles pattern matching for specific components, allowing parallel execution without compromising the thoroughness of individual reviews.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from sequential single-thread processing to multi-threaded parallel processing, adding a temporal dimension to the review process. This allows multiple components to be reviewed concurrently, significantly improving productivity while maintaining review quality through coordinated thread management.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If binary files are inspected for license compliance, then comprehensive coverage is achieved, but device complexity increases due to the difficulty of inspecting binaries compared to source code

Engineering Contradiction:
Improvecompliance coverageVSAvoidinspection system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by extracting and analyzing metadata from binary files before full compliance review. This includes extracting package information, dependency graphs, and license declarations, which simplifies subsequent compliance checking while maintaining comprehensive coverage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary layer that translates binary file analysis into compliance-checkable formats. This intermediary processing layer simplifies the complexity of direct binary inspection by converting binary data into structured representations that are easier to analyze for license compliance.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If comprehensive license tracking is implemented, then compliance accuracy is improved, but device complexity increases due to the need to manage hundreds of different licenses and their compatibility rules

Engineering Contradiction:
Improvelicense compliance precisionVSAvoidlicense management complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the license management system into modular components, with each thread handling specific license types or compatibility rules. This segmentation allows the system to manage hundreds of licenses through organized, manageable units rather than a monolithic complex system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal license management framework that can handle multiple license types and compatibility scenarios through a single integrated system. This universal approach reduces overall complexity by using general-purpose mechanisms that work across different license types rather than requiring separate specialized systems for each license type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8479161B2System and method for performing software due diligence using a binary scan engine and parallel pattern matching
Publication Date: 2013.07.02 ORACLE INT CORP
  • US8479161B2 patent drawing
  • US8479161B2 patent drawing
  • US8479161B2 patent drawing

AI summary

A system and method is provided for performing software due diligence review, which may include reviewing software for compliance and compatibility with software licenses, export regulations, or other compliance issues. In one implementation, the system may include a binary scan engine configured to analyze binary objects and extract dependency information identifying source code that may be associated with the binary objects. Upon identifying relevant source code, the system may use parallel pattern matching techniques to identify certain keywords in the source code and/or to match the keywords to text patterns that contain excerpts of language relevant to software due diligence. The system may then check for permissions and obligations associated with any matching relevant language to draw inferences regarding potential compliance problems.