Semantic Anchor-Based Application Similarity Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Detecting similarity between software applications is challenging due to the mismatch between high-level requirements and low-level implementation details, leading to imprecise similarity detection and inefficient reuse of code, as existing code search engines rely on keyword matching and syntagmatic associations without considering semantic anchors.

Innovation Solution

A method that uses semantic anchors, such as API calls with precisely defined semantics, to compute the similarity between applications by building Term-Document Matrices and applying Latent Semantic Indexing, which assigns weights to API calls based on their occurrence and importance, and combines package and class matrices to generate a similarity index.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If keyword matching and syntagmatic associations are used for similarity detection, then the search process is simple and fast, but the precision of similarity detection deteriorates due to mismatch between high-level requirements and low-level implementation details

Engineering Contradiction:
Improvesimilarity detection precisionVSAvoidsearch method complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces semantic anchors (API calls with precisely defined semantics) as intermediaries between high-level requirements and low-level implementation details. These semantic anchors serve as a mediator that bridges the gap between different levels of abstraction, enabling precise similarity detection without requiring direct comparison of high-level requirements with low-level code. The semantic anchors provide a common ground for comparison that preserves precision while managing complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transforms the similarity detection problem from a single-dimensional keyword matching approach to a multi-dimensional approach by incorporating semantic dimensions. Instead of merely comparing text strings, the system analyzes applications across multiple dimensions including API call usage patterns, semantic relationships, and structural similarities. This dimensional expansion enables more precise detection while the systematic framework manages the increased complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Measurement precision

If semantic anchors and Latent Semantic Indexing are used to improve similarity detection precision, then the identification of similar applications becomes more accurate, but the computational complexity and processing time increase

Engineering Contradiction:
Improvesimilarity detection precisionVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies Latent Semantic Indexing (LSI) in advance to pre-process and index the semantic relationships within the application repository. By performing this complex semantic analysis beforehand and storing the results in an indexed format, the system transforms expensive real-time semantic comparisons into efficient lookups and similarity calculations. This preliminary action shifts the computational burden from query time to indexing time, significantly reducing the processing time for actual similarity detection while maintaining high precision.

Inventive Principle:
Principle #10Preliminary action

3Loss of information

If comprehensive analysis of high-level requirements and low-level implementation is performed, then the understanding of application similarity improves, but the intellectual effort and resources required increase

Engineering Contradiction:
Improveinformation completenessVSAvoidprogrammer efficiency
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent implements an automated system that performs the comprehensive analysis of both high-level requirements and low-level implementation details without requiring manual intellectual effort from programmers. The system automatically extracts semantic anchors, builds term-document matrices, applies LSI, and computes similarity indices. This self-service automation preserves complete information about application similarities while eliminating the need for programmers to manually perform the complex analysis, thereby maintaining productivity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9804838B2Systems and methods for finding project-related information by clustering applications into related concept categories
Publication Date: 2017.10.31 ACCENTURE GLOBAL SERVICES LTD
  • US9804838B2 patent drawing
  • US9804838B2 patent drawing
  • US9804838B2 patent drawing

AI summary

A system, method, and computer-readable medium, is described that finds similarities among programming applications based on semantic anchors found within the source code of such applications. The semantic anchors may be API calls, such as Java's package and class calls of the JDK. Latent Semantic Indexing may be used to process the application and semantic anchor data and automatically develop a similarity matrix that contains numbers representing the similarity of one program to another.