Automated Source Code Knowledge Extraction via Pattern Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy software applications with limited or no documentation pose challenges for migration due to labor-intensive and error-prone manual processes, and existing automation tools produce non-flexible and proprietary outputs, limiting their adaptability and long-term usability across different platforms and programming languages.

Innovation Solution

A method and system that transforms source code by identifying and classifying logic blocks, extracting knowledge elements, and tracing their life cycles, using pattern matching and classification mechanisms to convert the code into a desired target format, enabling automated knowledge extraction and migration between versions or platforms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual processes are used to study and migrate legacy source code, then understanding of embedded business knowledge can be achieved, but the process becomes labor-intensive and error-prone

Engineering Contradiction:
Improveaccuracy of knowledge extractionVSAvoidmigration efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces manual mechanical analysis of source code with an automated computer-based system that uses pattern recognition and data structure analysis to extract business knowledge, thereby eliminating human error while maintaining comprehensive understanding of the legacy code

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

Solution Approach 2:

The patent introduces an intermediary automated analysis system that acts as a mediator between the legacy source code and the migration target, using structured data models and pattern recognition to accurately capture and transfer business knowledge without direct human intervention

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If existing automation tools are used to aid manual migration, then productivity increases, but the output becomes non-flexible and proprietary

Engineering Contradiction:
Improvemigration speedVSAvoidplatform compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal automated migration system that can handle multiple programming languages and software platforms through a common data model and pattern recognition framework, making the tool adaptable to diverse legacy systems rather than being proprietary to a single platform

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

Solution Approach 2:

The patent segments the migration process into distinct phases: pattern recognition, data structure analysis, knowledge extraction, and transformation. This modular approach allows the system to be applied flexibly across different programming languages and platforms while maintaining standardized output

Inventive Principle:
Principle #1Segmentation

3Ease of manufacture

If traditional methodology is applied to migrate legacy code, then some migration can be achieved, but the same methodology cannot be adapted to different computer languages

Engineering Contradiction:
Improvemigration process simplicityVSAvoidlanguage independence
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent uses parameter changes by adjusting pattern recognition rules and data structure models based on the specific programming language being analyzed, allowing the same core methodology to adapt to different languages through configurable parameters rather than requiring completely different approaches

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8412653B2Knowledge extraction and transformation
Publication Date: 2013.04.02 EVOLVEWARE

AI summary

The present disclosure includes a system and method for learning (or discovering and extracting) business knowledge from a collection of source code. The collection of source code is abstracted to generate an abstracted data stream, which is then transformed to an Extensible Markup Language (XML) format. The transformed data in XML format can be further converted to target formats or processed to satisfy different needs such as software system documentation, migration, impact analysis and security analysis. The disclosure also includes an implementation and operation for a pattern abstraction engine configured to receive an input data stream and format it for abstraction into a standard format using a pattern matching mechanism. The disclosure also includes an implementation and operation for a contextual pattern decoder engine configured to extract knowledge attributes and contextual taxonomy from classified blocks of an input data stream.