Open Source Software Scanning Tool Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for content matching analysis in software projects involving open source software face inefficiencies, lengthy analysis times, difficulty in customization and optimization, and challenges in identifying matches and securing confidentiality, especially when elements are altered or removed.

Innovation Solution

A computer-implemented scanning tool analyzes software projects to identify open source software portions, generates scan results, and presents insights to users, allowing for ambiguous result resolution based on previous user decisions and quality metrics, with features like automatic selection of likely options and collaboration tools for secure data sharing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If content matching analysis is performed to identify open source software portions, then the ability to detect open source code is improved, but the analysis time becomes unreasonably lengthy

Engineering Contradiction:
Improvedetection accuracyVSAvoidanalysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The content matching analysis is divided into multiple stages: initial filtering based on file type and extension, followed by targeted content analysis only for files that pass the initial filter. This segmentation reduces the overall analysis time while maintaining detection accuracy for open source software portions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by analyzing file metadata, extensions, and headers before conducting deep content matching. This preliminary filtering identifies likely open source files quickly, allowing the system to focus detailed analysis only on promising candidates and reduce total analysis time.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If deep discovery analysis is performed to identify all matches, then the completeness of match identification is improved, but the ability to customize and optimize the analysis deteriorates

Engineering Contradiction:
Improvematch identification completenessVSAvoidanalysis customization
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The analysis system provides dynamic configurability where users can adjust search depth, file type filters, and matching criteria based on their specific needs. The system can operate in both deep discovery mode for completeness and optimized mode for speed, allowing customization without sacrificing either objective.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system applies different analysis depths to different parts of the codebase based on user-defined priorities. Critical files can be analyzed in depth while less important files receive lighter analysis, allowing customization of the analysis process to match specific organizational needs.

Inventive Principle:
Principle #3Local quality

3Measurement precision

If content matching analysis is performed to identify open source portions, then the detection capability is improved, but the difficulty in identifying matches when elements are altered or removed increases

Engineering Contradiction:
Improvedetection capabilityVSAvoidmatch identification difficulty
Core Design Contradiction:
Measurement precisionVSDifficulty of detecting and measuring

Solution Approach 1:

The system creates a reference database of known open source software portions, their file structures, and content signatures. When analyzing new code, the system compares against these references to identify matches even when elements have been altered or removed, as the reference database contains variations and transformations of common open source patterns.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system incorporates feedback mechanisms where users can correct misidentifications and provide guidance on altered elements. This feedback loop improves the system's ability to recognize modified open source code over time, making detection more accurate for altered or removed elements.

Inventive Principle:
Principle #23Feedback

4Measurement precision

If content matching analysis is performed to identify open source portions, then the analysis thoroughness is improved, but the difficulty in securing and protecting user content during analysis increases

Engineering Contradiction:
Improveanalysis thoroughnessVSAvoidcontent security risk
Core Design Contradiction:
Measurement precisionVSObject-affected harmful factors

Solution Approach 1:

The system acts as an intermediary by analyzing only the necessary portions of user content required for open source identification, rather than exposing entire codebases. File-level analysis focuses only on metadata, headers, and specific content patterns, minimizing the exposure of sensitive user information while maintaining analysis thoroughness.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system extracts only the minimal necessary information for analysis - such as file extensions, headers, and specific content patterns - while leaving the rest of the user's content intact and unexposed. This extraction approach maintains analysis thoroughness for open source detection while protecting the majority of user content from potential security risks.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9311613B2Open source software development tools
Publication Date: 2016.04.12 ROGUE WAVE SOFTWARE
  • US9311613B2 patent drawing
  • US9311613B2 patent drawing
  • US9311613B2 patent drawing

AI summary

Various tools for use in connection with software projects that may contain open-source software code therein. The tools may include systems and methods for improving results regarding scans of the software projects based on insight data obtained from at least one user's analysis of the results of a previous scan. The systems and methods may also include an application-specific collaboration tool.