Knowledge Extraction and Transformation
First Claim
1. A computer-implemented method for transforming source code of an application, the method comprising:
- receiving the source code in a programming language;
identifying a plurality of blocks in the source code using a first pattern, wherein a pattern comprises a text string that includes one or more restrictions and a piece of text matches the pattern if the piece of text satisfies the one or more restrictions of the pattern;
classifying two or more of the plurality of blocks into a logic block that corresponds to a business rule;
discovering a knowledge element from the logic block using a second pattern, the knowledge element being one of the following;
a data entity and a variable;
tracing a life cycle of the knowledge element in the logic block; and
transforming the source code into a desired target format based on a third pattern and the life cycle of the knowledge element.
0 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
20 Claims
-
1. A computer-implemented method for transforming source code of an application, the method comprising:
-
receiving the source code in a programming language; identifying a plurality of blocks in the source code using a first pattern, wherein a pattern comprises a text string that includes one or more restrictions and a piece of text matches the pattern if the piece of text satisfies the one or more restrictions of the pattern; classifying two or more of the plurality of blocks into a logic block that corresponds to a business rule; discovering a knowledge element from the logic block using a second pattern, the knowledge element being one of the following;
a data entity and a variable;tracing a life cycle of the knowledge element in the logic block; and transforming the source code into a desired target format based on a third pattern and the life cycle of the knowledge element. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for transforming source code of an application, comprising:
-
a contextual pattern decoder engine configured to receive the source code in a programming language; a pattern classification engine configured to identify a plurality of blocks in the source code using a first pattern and classify two or more of the plurality of blocks into a logic block that corresponds to a business rule, wherein a pattern comprises a text string that includes one or more restrictions and a piece of text matches the pattern if the piece of text satisfies the one or more restrictions of the pattern; and a contextual pattern decoder engine configured to discover a knowledge element from the logic block using a second pattern, the knowledge element being one of the following;
a data entity and a variable, trace a life cycle of the knowledge element in the logic block, and transform the source code into a desired target format based on a third pattern and the life cycle of the knowledge element. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable medium structured to store instructions executable by at least one processor to transform source code of an application, the instructions when executed by the at least one processor cause the at least one processor to:
-
receive the source code in a programming language; identify a plurality of blocks in the source code using a first pattern, wherein a pattern comprises a text string that includes one or more restrictions and a piece of text matches the pattern if the piece of text satisfies the one or more restrictions of the pattern; classify two or more of the plurality of blocks into a logic block that corresponds to a business rule; discover a knowledge element from the logic block using a second pattern, the knowledge element being one of the following;
a data entity and a variable;trace a life cycle of the knowledge element in the logic block; and transform the source code into a desired target format based on a third pattern and the life cycle of the knowledge element. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification