Browse Prior Art Database

A Tool and Process for Mining Rule Candidates from Software Source Code

IP.com Disclosure Number: IPCOM000226011D
Publication Date: 2013-Mar-20
Document File: 3 page(s) / 103K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a novel tool and process for mining rule candidates from software source code as a means of extracting embedded logic from legacy software systems in order to use that business logic in updated systems.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 50% of the total text.

Page 01 of 3

A Tool and Process for Mining Rule Candidates from Software Source Code

Business logic is often embedded within software system source code. Business logic is embedded in the form of conditional statements that are evaluated and ,

when true, cause specific actions to take place within the software application . Logic that is embedded in software source code is difficult to identify , understand, modify, and separate from the source code in which it is embedded . As businesses

update old software applications, it is often desirable to extract business logic that is embedded within conditional statements for use in modern , updated business rule based solutions. The process of extracting the logic from legacy software systems often proves complex and costly, thus the business abandons the extraction efforts.

The solution is a novel tool and process for mining rule candidates from software source code. This invention identifies the software structures that use conditional statements, presently "IF" and "EVALUATE" statements within Common Business-Oriented Language (COBOL) source code. Having identified the appropriate software structures, the invention creates instances of a rule class and extracts the code blocks that express the conditional statements and all the actions that are executed when the conditional statements evaluate to true into the appropriate Rule object. The invention then "directs" the rule instances to assess
the nature of the content to determine if the content expresses a SIMPLE , CONJUNCTIVE, DISJUNCTIVE, or CONJUNCTIVE-DISJUNCTIVE conditional statement. The system separates the rule objects according to said objects' nature and writes each collection of rules to a separate text file. In the event that the conditional statements are contained within an "IF" block, the invention determines and reports the number of Rule objects that contain nested "IF" statements; the invention also determines an reports the number of Rule objects that contain "ELSE" clauses.

The extracted rules require manual analysis; however, this invention enables the analyst to determine the scope of work and prioritize the analysis effort , typically in less than 10 minutes.

The invention consists of a COBOL-RULE-MINER class that includes a graphical user interface (GUI) that provides all the information necessary to enable the software analyst to determine the scope and priority for the analysis. The process for implementing the invention follows:

1. The user launches the application by selecting a push button labeled "Mine COBOL Rules"

2. Upon selection of the "Mine COBOL Rules" button, the COBOL-RULE-MINER presents a query interface that directs the user to select the source file from which the rules are to be mined ; the user designates a file to be mined

3. The COBOL-RULE-MINER captures the file name for display and for future use

4. The COBOL-RULE-MINER opens the selected file and reads the content, separating strings into lists of i...