Header menu link for other important links
X
Identifying services from legacy batch applications
Published in
2012
Pages: 13 - 22
Abstract
Transaction processing is a key constituent of the IT workload of commercial enterprises (e.g., banks, insurance companies). Even today, in many large enterprises, transaction processing is done by legacy "batch" applications, which run offline and process accumulated transactions. Developers acknowledge the presence of multiple loosely coupled pieces of functionality within individual applications. Identifying such pieces of functionality (which we call "services") is desirable for the maintenance and evolution of these legacy applications. This is a hard problem, which enterprises grapple with, and one without satisfactory automated solutions. In this paper, we propose a novel static-analysis-based solution to the problem of identifying services within transaction-processing programs. We provide a formal characterization of services in terms of control-flow and data-flow properties, which is well-suited to the idioms commonly exhibited by business applications. Our technique combines program slicing with the detection of conditional code regions to identify services in accordance with our characterization. A preliminary evaluation, based on a manual analysis of three real business programs, indicates that our approach can be effective in identifying useful services from batch applications. © 2012 ACM.
About the journal
JournalProceedings of the 5th India Software Engineering Conference, ISEC'12
Open AccessNo
Concepts (15)
  •  related image
    AUTOMATED SOLUTIONS
  •  related image
    Business applications
  •  related image
    COMMERCIAL ENTERPRISE
  •  related image
    CONTROL-FLOW
  •  related image
    DATAFLOW
  •  related image
    HARD PROBLEMS
  •  related image
    INSURANCE COMPANIES
  •  related image
    Legacy applications
  •  related image
    MANUAL ANALYSIS
  •  related image
    Offline
  •  related image
    Program slicing
  •  related image
    Transaction processing
  •  related image
    Industry
  •  related image
    INSURANCE
  •  related image
    Software engineering