Source Code Utility Analysis via Discriminant Function

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face challenges in determining the suitability of publicly available source code for their projects due to potential deprecated libraries and unknown dependencies, which can lead to integration issues and increased bugs.

Innovation Solution

A computer system and method that analyzes source code using a discriminant function analysis model to assess the goodness of fit of publicly available target code samples, determining their efficacy and recommending their use based on current usage and compliance with the development environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If developers use publicly available source code from public repositories, then development time is reduced and productivity increases, but the reliability of the software decreases due to deprecated libraries and unknown dependencies

Engineering Contradiction:
Improvedevelopment timeVSAvoidsoftware reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary analysis of publicly available source code before it is integrated into the developer's project. The processor executes the candidate code in an isolated environment, collects runtime data about library usage and dependencies, and generates compatibility reports in advance. This preliminary action allows developers to assess reliability risks before committing to the continuous integration pipeline, resolving the contradiction by providing reliability information upfront rather than discovering it later during testing or production.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary analysis layer between the public code repository and the developer's project. This intermediary executes the candidate code, observes its behavior, and translates it into compatibility assessments. The intermediary environment acts as a buffer that isolates the developer's main project from potential issues in the candidate code, allowing safe evaluation of reliability without directly impacting the primary codebase.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If developers run limited unit tests prior to committing to continuous integration pipeline, then development speed is maintained, but the precision of code suitability assessment decreases

Engineering Contradiction:
Improvedevelopment speedVSAvoidcode suitability assessment precision
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The system performs excessive analysis beyond what traditional limited unit tests provide. Instead of just checking if code compiles and runs basic tests, the system executes the candidate code in a controlled environment, observes all library imports and dependencies, and generates comprehensive compatibility reports. This excessive action provides much higher precision in assessing code suitability while maintaining development speed because the analysis is automated and parallelized, not requiring sequential manual testing.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If developers manually verify code dependencies and library compatibility, then the precision of suitability assessment improves, but the time required for code integration increases

Engineering Contradiction:
Improvesuitability assessment precisionVSAvoidcode integration time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system makes the code self-verify by automatically executing itself in an isolated environment and reporting its own dependencies and compatibility issues. Instead of requiring developers to manually check each dependency, the candidate code runs autonomously, collects information about what libraries it uses, and generates its own compatibility assessment. This self-service approach achieves high precision in suitability assessment without adding time to the integration process, as the analysis is automated rather than manual.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11023356B2Utilization of publicly available source code
Publication Date: 2021.06.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11023356B2 patent drawing
  • US11023356B2 patent drawing
  • US11023356B2 patent drawing

AI summary

A method of determining the utility of publicly available source code includes analyzing, by one or more processors of a computer system, source code of an application in development, determining, by the one or more processors of the computer system, efficacy of a publicly available target code sample based a discriminant function analysis model, computing, by the one or more processors of the computer system, a goodness of fit assessment of the publicly available target code sample to the application in development based on the analyzing the source code of the application in development, and determining, by the one or more processors of the computer system, whether to use the publicly available target code sample based on the goodness of fit assessment.