Refactoring of COBOL data models based on similarities of data field name

When legacy COBOL applications are converted into modern Java applications, the number of converted Java classes tends to become bloated due to the considerable differences in the ways data structures are defined in the source and target languages. To address this problem, we developed a refactoring tool that reduces the number of data structure definitions in a COBOL copybook by unifying redundant definitions so as to generate more compact Java classes. Our tool detects similar data structure definitions based on their memory layouts and the names of their member data fields. The similarity of two field names is calculated as the length of a common substring between the two field names. We tested our tool with three different COBOL applications, and showed that our tool eliminated up to 90% of the converted Java classes. We also confirmed that our refactoring tool rarely unifies unrelated data definitions.

By: Yohei Ueda, Moriyoshi Ohara

Published in: RT0962 in 2014


This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.


Questions about this service can be mailed to .