This archive contains information relevant to the ESPRIT↑ II REDO project (no. 2487, 1989–1992) concerned with software maintenance↑ and reverse engineering↑. Some files and tools are available via anonymous FTP. An index and a README file are available.
See also PRECCX compiler compiler.
Personnel[]
The main OUCL project personnel were:
- Jonathan Bowen (site manager), now at London South Bank University, UK.
- Peter Breuer, now at Universidad Carlos III de Madrid, Spain.
- Kevin Lano, now at Department of Computer Science, King's College London, UK.
Publications[]
There are bibliographies of project reports and publications in BibTeX database format, some of which are available on-line. The following may be of particular interest:
- A PREttier Compiler-Compiler: Generating Higher Order Parsers in C, Peter Breuer and Jonathan Bowen. Software — Practice and Experience 25(1):1263-1297, November 1995. See also Programming Research Group Technical Report PRG-TR-20-92, 25pp, November 1992.
- Decompilation: The Enumeration of Types and Grammars, Peter Breuer (Universidad Politécnica de Madrid) and Jonathan Bowen. ACM Transactions on Programming Languages and Systems (TOPLAS), 16(5), pp 1613-1647, September 1994.
Previously issued as Programming Research Group Technical Report PRG-TR-11-92, 28pp, May 1992. - From Programs to Object Code and back again using Logic Programming: Compilation and Decompilation, Jonathan Bowen. Journal of Software Maintenance: Research and Practice, 5(4), pp 205-234, December 1993.
- Formal Specifications in Software Maintenance: From code to Z++ and back again, Jonathan Bowen, Peter Breuer and Kevin Lano. Information and Software Technology, 35(11/12), pp 679-690, November/December 1993.
- A Compendium of Formal Techniques for Software Maintenance, Jonathan Bowen, Peter Breuer (Universidad Politécnica de Madrid) and Kevin Lano (Lloyd's Register). IEE/BCS Software Engineering Journal, 8(5), pp 253-262, September 1993.
- Decompilation, Jonathan Bowen and Peter Breuer. Chapter 10 in Henk van Zuylen (ed.), The REDO Compendium: Reverse Engineering for Software Maintenance, John Wiley & Sons, pp 131-138, 1993.
- Creating Specifications from Code: Reverse Engineering Techniques, Peter Breuer and Kevin Lano, Journal of Software Maintenance: Research and Practice, 3, pp 145-162, 1991.
- Understanding Programs through Formal Methods, Peter Breuer and Kevin Lano and Jonathan Bowen. Chapter 15 in Henk van Zuylen (ed.), The REDO Compendium: Reverse Engineering for Software Maintenance, John Wiley & Sons, pp 195-223, 1993. Also previously issued as a Programming Research Group Technical Report PRG-TR-15-91.
- Reverse Engineering COBOL via Formal Methods, Kevin Lano, Peter Breuer and Howard Haughton. Chapter 16 in Henk van Zuylen (ed.), The REDO Compendium: Reverse Engineering for Software Maintenance, John Wiley & Sons, pp 225–248, 1993.
- The PRECC Compiler-Compiler, Peter Breuer and Jonathan Bowen. In Elwyn Davies and Andrew Findlay (eds.), Proc. UKUUG/SUKUG Joint New Year 1993 Conference, Oxford, UK, 6–8 January 1993. UKUUG/SUKUG Secretariat, Owles Hall, Buntingford, Herts SG9 9PL, UK, pp 167–182, 1993.
- Occam's Razor: The Cutting Edge of Parser Technology, Jonathan Bowen and Peter Breuer. In Proc. TOULOUSE 92: Fifth International Conference on Software Engineering and its Applications, Toulouse, France, 7–11 December 1992. Available from EC2, 269/287 rue de la Garenne, 92024 Nanterre Cedex, France.
- Decompilation is the Efficient Enumeration of Types, Peter Breuer and Jonathan Bowen. In M. Billaud et al. (eds.), Journées de Travail WSA'92 Analyse Statique, Bordeaux, France, 23–25 September 1992, BIGRE 81–82, IRISA-Campus de Beaulieu, F-35042 Rennes cedex, France, pp 255–273, 1992.
- User Interface Languages: A survey of existing methods, Gregory Abowd, Jonathan Bowen (Oxford University) and Alan Dix, Michael Harrison and Roger Took (University of York). Programming Research Group Technical Report PRG-TR-5-89, 65pp, October 1989.
Note that for published journal papers, only the original drafts are available online. See the journal for the final (improved) versions.
Books and reports[]
- The REDO Compendium: Reverse Engineering for Software Maintenance, edited by H.J. van Zuylen (John Wiley & Sons, 1993, ISBN 0-471-93607-3) summarizes the work of the entire project. Order from Amazon UK or Amazon USA.
- Reverse Engineering and Software Maintenance: A Practical Approach by Kevin Lano and Howard Haughton (McGraw-Hill, International Series in Software Engineering, 1993, ISBN 0-07-707897-7) was completed largely as a result of experience gained on the project.
Other OUCL Technical Reports by Jonathan Bowen, Peter Breuer and Kevin Lano are available. (E.g., see The REDO project: final report.) OUCL and REDO project reports are available from the OUCL librarian (email [mailto: library@comlab.ox.ac.uk library@comlab.ox.ac.uk]).
Further work[]
- Generating Decompilers, Peter Breuer (Universidad Carlos III de Madrid) and Jonathan Bowen. RUCS Technical Report, Department of Computer Science, The University of Reading, October 1998.
Tools[]
A PRECCX compiler compiler tool was produced on the project and is available on-line. After the end of the REDO project, the company Piercom commercialized some of the tools initially developed on the project.
[]
- Research by the ESPRIT ProCoS project on provably correct compilation inspired the work on decompilation.
- REFINE language tools from Reasoning Systems, Inc.
- Information on re-engineering (especially research).
- Formal methods in general in the WWW Virtual Library on the World Wide Web.
- Research Institute in Software Evoluation, formerly the Centre for Software Maintenance, Department of Computer Science, University of Durham, UK:
- Papers by Martin Ward on reverse engineering may be of related interest.
- ReForm project: From assembler to Z using formal transformations. The project produced the Maintainer's Assistant, a tool for reverse engineering and re-engineering code using formal methods.
- Software Migrations Limited.
- Piercom Ltd, Limerick, Ireland.
- Decompiling information by Frans Faase.
- REAP tools from InterGlossa Ltd. to aid the understanding and reuse of low-level computer languages and program formats.
- The Year 2000 Information Center. See also the Year 2000 Strategy Group.
- Year 2000 Information Portal.
- Year 2000 information.
- Decompilation Page including a History of Decompilation. A useful resource and good survey. See also the dcc decompiler (i386 DOS to C programs).
- Decompiling services from Springstone, UK.
- Decompiling Java class files.
- Reengineering Forum.
- Reverse Engineering and the Decompilation Page from Program-Transformation.Org.
For further information, please contact Jonathan Bowen.