Recovering Business Rules from Legacy Source Code for System Modernization



Similar documents
Parsing Technology and its role in Legacy Modernization. A Metaware White Paper

Visionet IT Modernization Empowering Change

Overview. The Knowledge Refinery Provides Multiple Benefits:

Mining a Change-Based Software Repository

Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)

EMC Publishing. Ontario Curriculum Computer and Information Science Grade 11

McGraw-Hill The McGraw-Hill Companies, Inc.,

1 Introduction. 2 An Interpreter. 2.1 Handling Source Code

Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha

Search and Information Retrieval

Chapter 8 Approaches to System Development

Language Interface for an XML. Constructing a Generic Natural. Database. Rohit Paravastu

1 Introduction. 2 Overview of the Tool. Program Visualization Tool for Educational Code Analysis

Visualization methods for patent data

Automated Program Behavior Analysis

Chapter 13: Program Development and Programming Languages

Computer Programming I & II*

Answers to Top BRMS Questions

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation

Sources: On the Web: Slides will be available on:

Programming and Software Development CTAG Alignments

TeamCompanion Solution Overview. Visual Studio

D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013

03 - Lexical Analysis

Plan for Success. News for the Process Management with ADONIS 6.0 and ADONIS Process Portal R18 and R19. A Product of the BOC Management Office

IBM WebSphere Operational Decision Management Improve business outcomes with real-time, intelligent decision automation

An Open Framework for Reverse Engineering Graph Data Visualization. Alexandru C. Telea Eindhoven University of Technology The Netherlands.

How To Understand Programming Languages And Programming Languages

Big Data: Rethinking Text Visualization

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November ISSN

BUILDING OLAP TOOLS OVER LARGE DATABASES

EVALUATION. WA1844 WebSphere Process Server 7.0 Programming Using WebSphere Integration COPY. Developer

Making Good Use of Data at Hand: Government Data Projects. Mark C. Cooke, Ph.D. Tax Management Associates, Inc.

Compiling Recursion to Reconfigurable Hardware using CLaSH

Course Information Course Number: IWT 1229 Course Name: Web Development and Design Foundation

USABILITY OF A FILIPINO LANGUAGE TOOLS WEBSITE

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

Chapter 6: Programming Languages

Fourth generation techniques (4GT)

SQLFlow: PL/SQL Multi-Diagrammatic Source Code Visualization

An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases

IBM Policy Assessment and Compliance

A LANGUAGE INDEPENDENT WEB DATA EXTRACTION USING VISION BASED PAGE SEGMENTATION ALGORITHM

Datawarehousing and Business Intelligence

A Review of Data Mining Techniques

10 Essential Google Analytics Reports And How They Matter to B2B Executives

Programming and Software Development (PSD)

Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development

Instructional Design Framework CSE: Unit 1 Lesson 1

Modeling Kahn Process Networks in the Dynamic Dataflow Formalism

Course Structure of Three Year Degree B.A Programme in Computer Application under Semester System of Dibrugarh University (General Programme)

Chapter 13: Program Development and Programming Languages

A Business Process Services Portal

(BA122) Software Engineer s Workshop (SEW)

XFlash A Web Application Design Framework with Model-Driven Methodology

Eventia Log Parsing Editor 1.0 Administration Guide

Static vs. Dynamic. Lecture 10: Static Semantics Overview 1. Typical Semantic Errors: Java, C++ Typical Tasks of the Semantic Analyzer

Maximizing the ROI Of Visual Rules

A Business Process Driven Approach for Generating Software Modules

Database Marketing, Business Intelligence and Knowledge Discovery

Subject knowledge requirements for entry into computer science teacher training. Expert group s recommendations

2 SYSTEM DESCRIPTION TECHNIQUES

How To Use X Query For Data Collection

Automatic Network Protocol Analysis

Connections to External File Sources

CS Matters in Maryland CS Principles Course

Advanced compiler construction. General course information. Teacher & assistant. Course goals. Evaluation. Grading scheme. Michel Schinz

Programming Languages

Chapter 2: Algorithm Discovery and Design. Invitation to Computer Science, C++ Version, Third Edition

Total Exploration & Production: Field Monitoring Case Study

WHITE PAPER. iet ITSM Enables Enhanced Service Management

Software Metrics in Static Program Analysis

Electronic Document Management Using Inverted Files System

MODEL DRIVEN DEVELOPMENT OF BUSINESS PROCESS MONITORING AND CONTROL SYSTEMS

Computer Programming I

Software Testing Strategies and Techniques

DataDirect XQuery Technical Overview

7 GOOD REASONS FOR GENUINE DIGITAL ASSET MANAGEMENT

UNIVERSITY OF SURREY. BSc Programmes in Computing. Level 1 Examination. CS183: Systems Analysis and Design. Time allowed: 2 hours Spring Semester 2006

Programming Language Inter-conversion

Textual Modeling Languages

Chapter 13 Computer Programs and Programming Languages. Discovering Computers Your Interactive Guide to the Digital World

Graphical Web based Tool for Generating Query from Star Schema

Dimensional modeling for CRM Applications

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition

Syntaktická analýza. Ján Šturc. Zima 208

A Process is Not Just a Flowchart (or a BPMN model)

VIII. Project Management Glossary

Transcription:

Recovering Business Rules from Legacy Source Code for System Modernization Erik Putrycz, Ph.D. Anatol W. Kark Software Engineering Group National Research Council, Canada

Introduction Legacy software 000009* PROGRAM TITLE: 000010* DATE CREATED: JULY 1979 000011* AUTHOR: UNKNOWN 000012* DESCRIPTION: Common In 2006, 70% of all transaction systems were written in COBOL 2

Introduction (2) Modernization Motivations High cost to operate legacy system Impossible to keep the legacy system up-to-date Lack of qualified staff New system or integrate legacy with new system Need for requirements Many requirements buried in the source code Recovering business rules major issue Recent survey from Software AG: 51% of companies who have difficulties modernizing said that a major issue are hard-coded and closed business rules Objective How to recover business rules from legacy source code? 3

Outline Context Extraction process Visualization and navigation Conclusions 4

Outline Context Extraction process Visualization and navigation Conclusions 5

Legacy Systems They handle and process a large amount of data. They have a large user base. They involve many business rules linked to legislation, agreements, processes, etc. Many business rules are not accurate anymore and require external error and exception processing because of the difficulty to improve and update such system. The maintenance of the system often involves changes related to business rules. The source code is available most developments in-house. 6

Stakeholders Two main classes of the stakeholders are involved with business rules: Legacy system maintainers Fix bugs and implement new rules. Need to understand the business rules they are affecting and the execution paths to a specific business rule Business analysts Involved in modernization of the legacy system Business rules in legacy system used for validating new requirements or finding requirements Often no background in technologies used in legacy system 7

Objectives Build an extensible and customizable framework for knowledge extraction Extract business rules in the following form: If <conditions> then <consequence> <conditions> and <consequence> as easy to understand as possible Use business terms instead of programming language constructs Focus on calculations Representation of complex calculations in an easy format Provide navigation and visualization to locate information Focus on COBOL legacy software 8

Outline Context and objectives Extraction process Visualization and navigation Conclusions 9

COBOL Limited and simple structure each program = sequence of statements grouped into paragraphs which are executed sequentially Only two forms of branching one to execute external programs (CALL) another to transfer the control flow to a paragraph (PERFORM). PERFORM is also used for iterations. Each program is associated with a single source file. Elements of Business Rules Branching: execute a paragraph Calculations: compute calculations between variables into another Conditions 10

Platform overview Cobol Source Code Parser Abstract Syntax Tree Fact Extractor and Analysis Engine Knowledge Database Internal Model for Calculations and Conditions Legacy System Documentation Graphical User Interface for end-users 11

Knowledge database Main elements Business rules = condition + action Action: calculation or control flow branching Conditions: Boolean operations between identifiers Calculations: arithmetic operations between identifiers Identifiers Keyword indexing all of elements Source code All extracted artifacts are linked to source code Variable names translation to business terms 12

From Source code to Business Rules Abstract Syntax Tree Extract machine level representation of the source code Business Rules construction Locate calculations Locate conditions Combine nested ifs Simplify calculations Simplify conditions Compute dependencies between business rules Integrating documentation and comments Attach comments to relevant elements 13

Implementation Technologies Object oriented database DB4O for storing and querying business rules Antlr3 (LL-*) parsing for generating AST from COBOL One major legacy system 630000 lines of COBOL 18 programs 11924 business rules 9292 identifiers 2823 paragraphs Database generation 4h for generation for extracting all business rules and indexing 14

Outline Context and objectives Extraction process Visualization and navigation Conclusions 15

Visualization Large amount of data 18 programs 11924 business rules Business analysts Main artefacts are requirements Need for locating relevant information to users System wide navigation Recent studies [Ko and al. 2006] flexible navigation is a key element for software maintainers 16

Main User Interface 17

Business rules and source code linking 18

Basic navigation Hierarchical navigation Programs Paragraphs Business Rules 19

System wide navigation Keyword indexing Identifiers, comments and COBOL locations are converted to keywords and indexed 20

Execution path and dependency visualization Show all paths leading to the execution of one Business Rule 21

Outline Context and objectives Extraction process Visualization and navigation Conclusions 22

Conclusions Business Rules: major element in legacy software modernization For system maintainers and business analysts Possible to extract business rules from legacy source code Novelty output is targeted at business analysts the business rules translated into non-technical terms. Positive early feedback from business analysts about the value and understandability of the information extracted 23

Future Simplified information about branching and loops Integrate the documentation into the system Link all elements of the database with existing documentation Data flow analysis From a generated report of the legacy system, locate all related business rules and calculations State analysis through the execution flow for connecting variables to documented data sources 24