Program plan recognition for Year 2000 tools

There are many commercial tools that address various aspects of the Year 2000 problem. None of these tools, however, make any documented use of plan-based techniques for automated concept recovery. This implies a general perception that plan-based techniques are not useful for this problem. The paper argues that this perception is incorrect and these techniques are in fact mature enough to make a significant contribution. In particular, the authors show representative code fragments illustrating "Year 2000" problems, discuss the problems inherent in recognizing the higher level concepts these fragments implement using pattern-based and rule-based techniques, demonstrate that they can be represented in a programming plan framework, and present some initial experimental evidence that suggests that current algorithms can locate these plans in linear time. Finally, they discuss several ways to integrate plan-based techniques with existing Year 2000 tools.

[1]  Paul Klint,et al.  A meta-environment for generating programming environments , 1989, TSEM.

[2]  Linda Mary Wills,et al.  Automated program recognition by graph parsing , 1992 .

[3]  P. H. Newcomb,et al.  Requirements for Advanced Year 2000 Maintenance Tools , 1997, Computer.

[4]  Lawrence Markosian,et al.  Using an enabling technology to reengineer legacy systems , 1994, CACM.

[5]  Alexander E. Quilici,et al.  Constraint-based design recovery for software reengineering: theory and experiments , 1997 .

[6]  Robert A. Martin Dealing with Dates: Solutions for the Year 2000 , 1997, Computer.

[7]  Leon Moonen,et al.  A generic architecture for data flow analysis to support reverse engineering , 1997 .

[8]  Robert S. Arnold,et al.  Software Change Impact Analysis , 1996 .

[9]  Richard C. Waters,et al.  The programmer's apprentice , 1990, ACM Press frontier series.

[10]  Chris Verhoef,et al.  Obtaining a COBOL grammar from legacy code for reengineering purposes , 1997 .

[11]  Arie van Deursen,et al.  Type inference for COBOL systems , 1998, Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261).

[12]  Qiang Yang,et al.  The program understanding problem: analysis and a heuristic approach , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[13]  Alex Quilici,et al.  A memory-based approach to recognizing programming plans , 1994, CACM.

[14]  Antonio Pizzarello,et al.  A scaleable, automated process for year 2000 system correction , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[15]  Arie van Deursen,et al.  Language Prototyping: An Algebraic Specification Approach , 1996, AMAST Series in Computing.

[16]  KozaczynskiWojtek,et al.  Program Concept Recognition and Transformation , 1992 .

[17]  Mark Weiser,et al.  Program Slicing , 1981, IEEE Transactions on Software Engineering.

[18]  Arie Deursen The leap year problem , 1998 .

[19]  Arie van Deursen,et al.  Validating year 2000 compliance , 1997 .

[20]  David N. Chin,et al.  DECODE: A Co-operative Program Understanding Environment , 1996, J. Softw. Maintenance Res. Pract..

[21]  Chris Verhoef,et al.  Generation of components for software renovation factories from context-free grammars , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[22]  Qiang Yang,et al.  A method of program understanding using constraint satisfaction for software reverse engineering , 1996 .

[23]  Bryce Ragland The Year 2000 Problem Solver: A Five-Step Disaster Prevention Plan , 1996 .

[24]  Nicholas Zvegintzov A Resource Guide to Year 2000 Tools , 1997, Computer.

[25]  Linda M. Wills,et al.  Automated Program Recognition: A Feasibility Demonstration , 1987, Artif. Intell..