Inferring Code Deprecation from Module Status

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in detecting and managing deprecated code, which can lead to security vulnerabilities, poor performance, and incompatibility issues when deprecated modules are used, causing reliability and operational issues when removed.

Innovation Solution

A system is developed to infer code deprecation by analyzing references to types exposed by deprecated modules, presenting warnings and modifying code to avoid dependencies on deprecated modules, ensuring compatibility and security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If deprecated modules are used in code, then existing functionality is maintained, but security vulnerabilities and reliability issues occur

Engineering Contradiction:
Improvecode reliabilityVSAvoidsecurity vulnerabilities
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary detection of deprecated module usage by analyzing code references before execution. It identifies when code references types exposed by deprecated modules and presents warnings to developers, allowing corrective action to be taken in advance rather than reacting after vulnerabilities occur

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides feedback to developers by presenting warnings when deprecated modules are detected. This feedback mechanism enables developers to awareness of the deprecated usage and take corrective action to migrate to non-deprecated modules, thereby eliminating security vulnerabilities while maintaining functionality

Inventive Principle:
Principle #23Feedback

2Object-affected harmful factors

If deprecated modules are removed from the system, then security and reliability improve, but code compatibility and operational continuity deteriorate

Engineering Contradiction:
Improvesecurity improvementsVSAvoidcode compatibility
Core Design Contradiction:
Object-affected harmful factorsVSReliability

Solution Approach 1:

The system performs preliminary analysis of code dependencies before module removal. By detecting references to deprecated modules in advance, the system enables planning and execution of migration strategies that maintain code compatibility during the transition, preventing operational failures

Inventive Principle:
Principle #10Preliminary action

3Reliability

If developers manually detect and fix deprecated code, then code quality improves, but development time and complexity increase

Engineering Contradiction:
Improvecode qualityVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system provides self-service by automatically detecting and analyzing deprecated module usage without requiring manual intervention. It autonomously presents warnings and provides guidance for migration, significantly reducing the time and effort developers would otherwise need to spend on manual detection and fixing of deprecated code

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11366657B2Inferring code deprecation from module deprecation
Publication Date: 2022.06.21 ORACLE INT CORP
  • US11366657B2 patent drawing
  • US11366657B2 patent drawing
  • US11366657B2 patent drawing

AI summary

Techniques for inferring code deprecation from module deprecation are disclosed. A system detects a reference to a type. The system determines that a particular module, in a plurality of modules in a module system, exposes the referenced type. The system determines that the particular module is associated with a deprecation status. Responsive to determining that the particular module is associated with the deprecation status, the system presents information indicating that the reference references a deprecated module.