Code Similarity Search with ALM Entity Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current code search tools fail to provide insights from application lifecycle management (ALM) systems for code similarity, limiting developer productivity and code quality by not supplementing identification of similar code with relevant ALM information such as defects or requirements.

Innovation Solution

A system that identifies a target code segment, acquires similar code from a code similarity system, and retrieves ALM entities associated with those similar codes from an ALM system, integrating this information into the developer's interface to enhance code development and quality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If code search tools are used to identify similar code, then code similarity identification is achieved, but ALM information (defects, requirements) is not provided

Engineering Contradiction:
ImproveALM informationVSAvoidsystem complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent combines the code search functionality with ALM system functionality into a unified system. The code search tool queries both code repositories and ALM databases simultaneously, merging previously separate information sources into a single integrated query interface that returns both similar code and associated ALM entities.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs multiple functions through a single integrated platform: it searches for similar code segments, retrieves associated ALM entities (defects, requirements, tests), and presents unified results. This multi-functional approach eliminates the need for separate code search and ALM information retrieval tools.

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

2Productivity

If ALM system information is integrated with code search, then developer productivity is improved, but system complexity increases

Engineering Contradiction:
Improvedeveloper productivityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer that connects the code search interface with the ALM system database. This intermediary handles the complex queries and data retrieval operations, translating user search requests into appropriate ALM system queries and presenting results in a unified format without exposing the underlying complexity to users.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the information retrieval process into distinct modules: code segment identification, similarity matching, ALM entity association, and result presentation. Each module handles a specific aspect of the query processing, making the overall complex system manageable through functional decomposition.

Inventive Principle:
Principle #1Segmentation

3Ease of manufacture

If similar code is identified without ALM context, then code reuse is enabled, but defect propagation risk increases

Engineering Contradiction:
Improvecode development easeVSAvoidcode quality
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The system applies preliminary anti-action by proactively retrieving and displaying defect information and other ALM entities associated with similar code segments before the developer copies or uses the code. This advance warning allows developers to take preventive measures, such as modifying the code or conducting additional reviews, to avoid propagating known defects.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentEP2951680B1Acquiring identification of an application lifecycle management entity associated with similar code
Publication Date: 2020.12.23 MICRO FOCUS LLC
  • EP2951680B1 patent drawingFigure 1
  • EP2951680B1 patent drawingFigure 2
  • EP2951680B1 patent drawingFigure 3

AI summary

Examples disclosed herein relate to acquiring identification of an application lifecycle management (ALM) entity associated with similar code. Examples include identifying a target code segment, and acquiring, from an ALM system, identification of an ALM entity associated with other code similar to the target code segment and identified by a code similarity system.