Re-engineering needs generic programming language technology

Generic language technology and compiler construction techniques are a prerequisite to build analysis and conversion tools that are needed for the re-engineering of large software systems. We argue that generic language technology is a crucial means to do fundamental re-engineering. Furthermore, we address the issue that the application of compiler construction techniques in re-engineering generates new research questions in the field of compiler construction.

[1]  Giuseppe Visaggio,et al.  Identification and extraction of 'domain independent' components in large programs , 1993, [1993] Proceedings Working Conference on Reverse Engineering.

[2]  Chris Verhoef,et al.  A General Conservative Extension Theorem in Process Algebra , 1994, PROCOMET.

[3]  Zahira Ammarguellat,et al.  A Control-Flow Normalization Algorithm and Its Complexity , 1992, IEEE Trans. Software Eng..

[4]  Eelco Visser Solving type equations in multi-level specifications (preliminary version) , 1996 .

[5]  C. V. Ramamoorthy,et al.  The C Information Abstraction System , 1990, IEEE Trans. Software Eng..

[6]  Rajiv Gupta,et al.  An approach to regression testing using slicing , 1992, Proceedings Conference on Software Maintenance 1992.

[7]  Jan A. Bergstra,et al.  Discrete time process algebra (revised version of P9208b) , 1995 .

[8]  J. M. T. Romijn Automatic analysis of term rewriting systems: proving properties of term rewriting systems derived from ASF+SDF specifications , 1995 .

[9]  David Eichmann,et al.  Program and interface slicing for reverse engineering , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[10]  Paul Klint,et al.  Core Technologies for System Renovation , 1996, SOFSEM.

[11]  Peter Baumann,et al.  Semantics-based Reverse Engineering , 1994 .

[12]  Jan A. Bergstra,et al.  A Complete Transformational Toolkit for Compilers , 1996, ESOP.

[13]  H. P. Korver,et al.  A well-formedness checker for ?CRL , 1995 .

[14]  Jan A. Bergstra,et al.  Network algebra with demonic relation operators , 1995 .

[15]  D.P. Olshefski,et al.  A prototype system for static and dynamic program understanding , 1993, [1993] Proceedings Working Conference on Reverse Engineering.

[16]  Jim Q. Ning,et al.  Recovering Reusable Components from Legacy Systems. , 1993 .

[17]  Jan A. Bergstra,et al.  Sequential data algebra primitives , 1996 .

[18]  L.M.F. Moonen,et al.  Data Flow Analysis for Reverse Engineering , 1996 .

[19]  Gregor Snelting,et al.  The PSG system: from formal language definitions to interactive programming environments , 1986, TOPL.

[20]  Atul Prakash,et al.  Supporting Queries on Source Code: a Formal Framework , 1994, Int. J. Softw. Eng. Knowl. Eng..

[21]  P. A. Olivier,et al.  Embedded system simulation: testdriving the ToolBus , 1996 .

[22]  Masaru Tomita,et al.  Efficient parsing for natural language , 1985 .

[23]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[24]  Jan A. Bergstra,et al.  Sequential data algebra primitives (revised version of P9602) , 1996 .

[25]  Robert S. Arnold Software Reengineering , 1993 .

[26]  J. J. Brunekreef A transformation tool for pure Prolog programs: the algebraic specification , 1996 .

[27]  H. J. van Zuylen The REDO compendium: reverse engineering for software maintenance , 1993 .

[28]  Eric J. Byrne Software reverse engineering: A case study , 1991, Softw. Pract. Exp..

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

[30]  Patrick Borras,et al.  Centaur: the system , 1988, Software Development Environments.

[31]  Jan A. Bergstra,et al.  Frame algebra with synchronous communication , 1995 .

[32]  Jan A. Bergstra,et al.  Frame-based process logics , 1995 .

[33]  Jan A. Bergstra,et al.  Network algebra for synchronous and asynchronous dataflow , 1994 .

[34]  P. Klint,et al.  Reverse engineering and system renovation—an annotated bibliography , 1997, SOEN.

[35]  John Field,et al.  A Simple Rewriting Semantics for Realistic Imperative Programs and its Application to Program Analysis , 1992, ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation.

[36]  P. I. Manuel,et al.  ANSI Cobol III in SDF + an ASF Definition of a Y2K Tool , 1996 .

[37]  Alex Sellink On the Conservativity of Leibniz Equality , 1998, Int. J. Found. Comput. Sci..

[38]  Dieter Maurer,et al.  Compiler Design , 2013, Springer Berlin Heidelberg.

[39]  Jos van Wamel Process Algebra with Language Matching , 1997, Theor. Comput. Sci..

[40]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[41]  J. Brunekreef,et al.  TransLog, an interactive tool for transformation of logic programs , 1995 .

[42]  Aniello Cimitile,et al.  A reverse engineering process for design level document production from ADA code , 1991, Inf. Softw. Technol..

[43]  Keith Brian Gallagher,et al.  Using Program Slicing in Software Maintenance , 1991, IEEE Trans. Software Eng..

[44]  Eelco Visser,et al.  Generation of formatters for context-free languages , 1996, TSEM.

[45]  Thomas Reps,et al.  The Synthesizer Generator: A System for Constructing Language-Based Editors , 1988 .

[46]  Eelco Visser,et al.  A Case Study in Optimizing Parsing Schemata by Disambiguation Filters , 1997, IWPT.

[47]  Proceedings of Working Conference on Reverse Engineering, WCRE 1993, Baltimore, Maryland, USA, May 21-23, 1993 , 1993, WCRE.

[48]  M.P.A. Sellink Transforming an ASF+SDF Specification into a ToolBus Application , 1996 .

[49]  Lawrence Markosian,et al.  Automating the modularization of large COBOL programs: application of an enabling technology for reengineering , 1993, [1993] Proceedings Working Conference on Reverse Engineering.

[50]  David N. Card,et al.  Proceedings of the Conference on Software Maintenance , 1993 .

[51]  T. B. Dinesh,et al.  Specifying Input and Output of Visual Languages , 1996 .

[52]  Murray Hill,et al.  Yacc: Yet Another Compiler-Compiler , 1978 .

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

[54]  T. B. Dinesh,et al.  Asf+Sdf'95: a workshop on Generating Tools from Algebraic Specifications , 1995 .

[55]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[56]  Jan A. Bergstra,et al.  The Discrete Time TOOLBUS , 1996, AMAST.

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

[58]  Jan A. Bergstra,et al.  Grid protocols based on synchronous communication: specification and correctness , 1995 .

[59]  Atul Prakash,et al.  A Framework for Source Code Search Using Program Patterns , 1994, IEEE Trans. Software Eng..

[60]  Matthew S. Hecht,et al.  Flow Analysis of Computer Programs , 1977 .