Towards lightweight checks for mass maintenance transformations

We propose a lightweight, practical approach to check mass maintenance transformations. We present checks for both transformation tools and transformed source code, and illustrate them using examples of real-world transformations. Our approach is not a fully fledged, formal one but provides circumstantial evidence for transformation correctness, and has been applied to the mass maintenance of industrial Cobol systems.

[1]  Helmut A. Partsch,et al.  Specification and transformation of programs , 1990 .

[2]  Ralf Lämmel,et al.  Architectural modifications to deployed software , 2005, Sci. Comput. Program..

[3]  Eelco Visser,et al.  A Survey of Strategies in Program Transformation Systems , 2001, WRS.

[4]  Jan A. Bergstra,et al.  The algebraic specification formalism ASF , 1989 .

[5]  Chris Verhoef,et al.  Towards Automated Modi cation of Legacy Assets , 2000 .

[6]  Victor L. Winter,et al.  Proving the Correctness of Program Transformations , 1997 .

[7]  Helmuth Partsch,et al.  Specification and Transformation of Programs - A Formal Approach to Software Development , 1990, Texts and Monographs in Computer Science.

[8]  Darrel C. Ince,et al.  The Automatic Generation of Test Data , 1987, Comput. J..

[9]  Arie van Deursen,et al.  The ASF+SDF Meta-environment: A Component-Based Language Development Environment , 2001 .

[10]  Arie van Deursen,et al.  The Asf+Sdf Meta-Environment: a Component-Based Language Development Environment , 2001, LDTA@ETAPS.

[11]  Vytautas Štuikys,et al.  TAXONOMY OF THE PROGRAM TRANSFORMATION PROCESSES , 2002 .

[12]  Rob J. van Glabbeek,et al.  Branching time and abstraction in bisimulation semantics , 1996, JACM.

[13]  Ralf Lämmel,et al.  Cracking the 500-Language Problem , 2001, IEEE Softw..

[14]  Chris Verhoef,et al.  Concrete process algebra , 1995, LICS 1995.

[15]  Niels P. Veerman Revitalizing modifiability of legacy assets , 2004, J. Softw. Maintenance Res. Pract..

[16]  Paul Klint,et al.  The syntax definition formalism SDF—reference manual— , 1989, SIGP.

[17]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[18]  Martin P. Ward Pigs from sausages? Reengineering from assembler to C via FermaT transformations , 2004, Sci. Comput. Program..

[19]  Capers Jones The year 2000 software problem: Quantifying the cost and addressing the consequences , 2005, AI & SOCIETY.

[20]  Capers Jones,et al.  Programming Productivity , 1986 .

[21]  Chris Verhoef,et al.  Software product line migration and deployment , 2003, Softw. Pract. Exp..

[22]  Peter M. Maurer,et al.  Generating test data with enhanced context-free grammars , 1990, IEEE Software.

[23]  James M. Boyle,et al.  Transformations to Restructure and Re–engineer COBOL Programs , 2004, Automated Software Engineering.

[24]  Martin P. Ward Assembler to C migration using the FermaT transformation system , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[25]  Ralf Lämmel,et al.  Semi‐automatic grammar recovery , 2001, Softw. Pract. Exp..

[26]  Wan Fokkink,et al.  Introduction to Process Algebra , 1999, Texts in Theoretical Computer Science. An EATCS Series.

[27]  John Field,et al.  Identifying procedural structure in Cobol programs , 1999, PASTE '99.

[28]  J. C. M. Baeten,et al.  Process Algebra: Bibliography , 1990 .

[29]  Harry M. Sneed,et al.  Restructuring of COBOL/CICS legacy systems , 2002, Sci. Comput. Program..

[30]  Hausi A. Müller,et al.  Code migration through transformations: an experience report , 2010, Conference of the Centre for Advanced Studies on Collaborative Research.

[31]  Jan Willem Klop,et al.  Term Rewriting Systems: From Church-Rosser to Knuth-Bendix and Beyond , 1990, ICALP.

[32]  Peter Baumann,et al.  Beauty and the Beast or A Formal Semantic Description of the ControlConstructs of Cobol and its Implementation , 1993 .