Unsupervised Variable Classification in Source Code

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing automation techniques for variable classification in source code require laborious human involvement and domain expert intervention, limiting their effectiveness and scalability, especially in niche domains where understanding business context is complex.

Innovation Solution

An automated system employing unsupervised machine learning algorithms for domain-agnostic classification of variables, using a multi-step process involving parsing, intermediate variable elimination, vector generation, distribution agnostic clustering, and cluster naming to extract business context from source code without requiring subject matter expert input.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If supervised machine learning techniques are used for variable classification, then classification accuracy can be improved through domain expert guidance, but the system requires laborious human intervention and becomes less scalable

Engineering Contradiction:
Improveclassification accuracyVSAvoidhuman intervention requirement
Core Design Contradiction:
Measurement precisionVSExtent of automation

Solution Approach 1:

The system enables variables to classify themselves through unsupervised learning algorithms that automatically analyze variable properties, relationships, and usage patterns without requiring domain experts to provide labeled training data. The algorithm autonomously discovers clusters and generates classifications.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical process of manual domain expert intervention with an automated computational system using unsupervised machine learning algorithms that process variable data structures, relationships, and usage patterns to generate classifications automatically.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Loss of information

If manual domain expert intervention is used to comprehend business context, then understanding of business context is improved, but the process becomes less scalable and more time-consuming

Engineering Contradiction:
Improvebusiness context understandingVSAvoidscalability
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The system automatically extracts and analyzes business context information from source code by examining variable properties, relationships, and usage patterns, eliminating the need for manual domain expert analysis while maintaining comprehensive context understanding.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The unsupervised learning algorithm is designed to handle multiple domains and business contexts universally without requiring domain-specific customization or expert intervention, making the system scalable across different applications and industries.

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

3Reliability

If supervised techniques dependent on manual intervention are used, then classification can be performed with domain knowledge, but the complexity of the system increases

Engineering Contradiction:
Improvedomain knowledge integrationVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system integrates domain knowledge automatically through unsupervised learning that analyzes variable properties, relationships, and usage patterns without requiring manual domain expert input, thereby maintaining reliability while reducing system complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3961374B1Method and system for automated classification of variables using unsupervised distribution agnostic clustering
Publication Date: 2023.03.01 TATA CONSULTANCY SERVICES LTD
  • EP3961374B1 patent drawingFigure 1
  • EP3961374B1 patent drawingFigure 2
  • EP3961374B1 patent drawingFigure 3

AI summary

The ability to comprehend the context of a given programming artifact and extracting the underlying functionality is a complex task extending beyond just syntactic and semantic analysis of code. All existing automation capabilities, hence heavily depend on manual involvement of domain experts. Even recent approaches leveraging Machine Learning Capabilities are supervised techniques, whereby the dependency on domain experts still remains - in preparing suitable training sets. A method and system for automated classification of variables using unsupervised distribution agnostic clustering has been provided. The present disclosure focuses to tap the flexibility of the code and presents a domain agnostic approach using unsupervised machine learning which automatically extracts the context from source code, by classifying the underlying elements of the code. The method and system do not require any manual intervention and opens a wide range of opportunities in reverse engineering and variable level analysis space.