Software Component Dependency Analysis for Licensing Risk

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Incorporating third-party software components into software products poses risks and complications due to licensing, support, delivery, and platform compatibility issues, making comprehensive assessment challenging, especially when these components have different lifecycles and support models.

Innovation Solution

A computer program product that analyzes dependencies of software components, identifies relevant perspectives, and assesses them against criteria such as licensing, supportability, and platform availability, iteratively expanding the scope to include related components, ensuring comprehensive selection and assessment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If third-party software components are incorporated into software products, then functionality and versatility are improved, but licensing, support, and compatibility risks increase

Engineering Contradiction:
ImprovefunctionalityVSAvoidlicensing and support risk
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary assessment of third-party software components before they are incorporated into the software product. It analyzes licensing terms, support availability, and compatibility requirements in advance, allowing the organization to make informed decisions about which components to include and under what conditions, thereby preventing future risks.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary assessment layer between the software development process and third-party component integration. This intermediary layer evaluates and mediates the risks associated with third-party components, acting as a buffer that protects the main software product from licensing and support issues while still allowing beneficial functionality to be incorporated.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If comprehensive assessment of all dependencies is performed, then reliability is improved, but time and complexity increase

Engineering Contradiction:
Improveassessment completenessVSAvoidassessment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The assessment process is segmented into multiple levels based on dependency depth. The system first assesses direct dependencies, then progressively evaluates transitive dependencies only when necessary. This segmentation allows comprehensive assessment of critical components while avoiding unnecessary time expenditure on deeply nested dependencies that may not impact the software product.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies partial assessment action by focusing assessment resources on the most critical dependencies and perspectives (such as licensing and support) rather than uniformly assessing all possible attributes of all dependencies. This selective approach achieves sufficient reliability assessment without the full time cost of exhaustive analysis.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If multiple perspectives and scopes are considered, then assessment accuracy is improved, but device complexity increases

Engineering Contradiction:
Improveassessment accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system uses a universal assessment framework that can evaluate software components across multiple perspectives (licensing, support, compatibility, etc.) using the same core evaluation mechanism. This multi-functional approach allows accurate assessment across different dimensions without proportionally increasing system complexity, as the same assessment engine handles all perspectives.

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

Solution Approach 2:

The assessment scope is made dynamic rather than static. The system automatically adjusts the depth and breadth of the assessment based on the specific software component being evaluated, the organizational context, and the risk profile. This dynamic adaptation allows high accuracy when needed while simplifying the process when less scrutiny is required, preventing complexity from becoming a fixed burden.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9170810B2Selection and assessment of software components
Publication Date: 2015.10.27 SAP SE
  • US9170810B2 patent drawing
  • US9170810B2 patent drawing
  • US9170810B2 patent drawing

AI summary

The present disclosure involves systems, software, and computer implemented methods for providing selection and assessment of software components. One process includes operations for identifying a software component for assessment. Dependencies associated with the software component are analyzed, wherein analyzing dependencies includes identifying at least one relevant perspective associated with the software component, identifying a scope associated with the at least one relevant perspective, and determining whether the software component is associated with at least one related infrastructure component based on the scope or at least one other software component that the software component depends on based on the scope. The software component and each of the at least one related infrastructure component or the at least one other software component are assessed against a set of criteria.