Welcome Guest. | Log In| Register | Membership Benefits

Labs

August 11, 1997
SmartFind/2000 Makes Fast Work Of Year 2000 Bugs

Micro Focu s tool helps neutralize the date-field problem in Cobol code


By Edmund C. Arranga

S martFind/2000 from Micro Focus Ltd. is a year 2000 date-field analysis tool to help identify, inventory, and manage Cobol year 2000 projects using a windowing approach. It has plenty of built-in features and logic to find the "gotcha code" before the turn of the century gets you.

SmartFind/2000, released last month, is the latest component in the Palo Alto, Calif., company's expanding year 2000 SoftFactory/2000 offering, which consists of Revolve/ 2000, and optionally includes SmartFind/2000, Workbench/2000, and Expert Year 2000 Services. SmartFind/2000 and Revolve/2000 are tightly integrated tools that together perform complementary tasks.

Revolve/2000 is a sophisticated source-code parser that pe rforms impact analysis on Cobol, Assembler, and PL/1 programs, and can perform pattern recognition on any source code to identify date fields. SmartFind/2000 is a rule-based, intelligent analysis tool that finds and tracks date data used in operations, across programs, and across systems, based on data formats, certain types of computations, data names, user-defined selections, and other criteria.

Performing year 2000 fixes on Cobol code currently costs about $1.25 per line, with costs sure to rise as the deadline draws closer and Cobol programmers become harder to find.

There are two basic approaches to solving the year 2000 date-field problem. One is to fix the data; the other is to fix the code. The first approach, date expansion, adds the century to every date field, which also means fixing the code to correctly process the larger date fields. The major drawback to this approach is time-there's not enough left for this fix now, according to many experts.

The second approach, windowing, invol ves finding and fixing only the code that requires knowing about the change of century. Other code, data definitions, databases, files, screens, and reports are left as is. For example, code could be used to create a 100-year window from 1950 to 2049. In the resulting application, the years 50 to 99 are assumed to belong to the 20th century, while the years from 00 to 49 are part of the 21st century.

Windowing solutions are very practical, and with a judicious use of logic they can be as effective as the more comprehensive data-expansion approach in many instances.

Useful Features
SmartFind/2000 develops candidate lists of potential problem-causing code with a candidate "wizard." To start, you name a project, then load the source files into the Revolve database. The source files can be any of the components you would normally find in a large Cobol application-the software automatically detects 22 types of files. A pop-up menu prompts you to Add Components, which identifies the files in a project.

The Project Manager shows each type of file in its own folder on the desktop. Clicking on the View Source Code icon brings up a split-screen editor for viewing or changing the file. A Script tool pinpoints the offending code. A click on the Show Reason for Inclusion icon displays the filter reason.

A variety of analysis reports can be generated from the files, including Data Assessment, File Input, Complexity, and Implementation Estimation reports. Data from the reports can be exported to Excel spreadsheets for further analysis and reporting.

Among SmartFind's most powerful features are the visual views that can be selected from the Tools menu. The components of the system and how they relate are presented in picture form. One drawback of the program is that it is unable to directly manipulate an application from its view.

A metering step counts the lines of code added to the Revolve database. A hardware key, or dongle, attaches to a parallel port on your PC to monitor the line cou nt. Keys come in various line-count denominations, in increments of 500,000.

A Small Test
To test SmartFind/2000, I analyzed a 10,000-line Cobol program with 14 date fields operated on in 17 different paragraphs. The program called two subprograms, passing date data to each. The operations involved adding, subtracting, comparing, accepting, and displaying date data.

To its credit, SmartFind/2000 was able to correctly identify all the potential offending operations. In addition, SmartFind traced and identified the subprogram date operations, of which there were six. While it was by no means exhaustive, the test did provide a certain level of comfort with the tool's abilities.

Each organization will find its own level of confidence in automated tools and potential solutions. As any experienced Cobol programmer will tell you, finding and fixing legacy code can be a chilling experience. SmartFind/2000, thank goodness, makes it less chilling.

Edmund C. Arranga is managing editor of The Cobol Report and a partner in the Cobol Group, a Dallas consulting firm. He can be reached at earranga@objectz. com .


  Back to Labs

  Send Us Your Feedback

  Top of the Page