Refactoring Functional Programs

[back to project home page]

A small, but growing heap of potentially related work, in no particular order. To be harvested, amended, summarised and sorted..


some first non-functional pointers..

Martin Fowler.
Refactoring Home Page. Refactoring: Improving the Design of Existing Code by MartinFowler, ISBN 0201485672 . (Addison-Wesley Object Technology Series, 1999).
William G. Griswold.
Program Restructuring as an Aid to Software Maintenance. PhD thesis, University of Washington, 1991.
W. G. Griswold, D. Notkin,
Automated assistance for program restructuring, Transactions on Software Engineering and Methodology, ACM, vol. 2, no. 3, pp. 228-269, July 1993.
William F. Opdyke.
Refactoring Object-Oriented Frameworks. PhD thesis, University of Illinois, 1992.
Bill Opdyke
Refactoring, Reuse & Reality
Don Roberts.
Practical Analysis for Refactoring. PhD thesis, University of Illinois at Urbana Champaign, 1999.
Don Roberts, John Brant, Ralph Johnson.
A Refactoring Tool for Smalltalk. Published in Theory and Practice of Object Systems special issue on software reengineering.
Don Roberts, John Brant, Ralph Johnson.
Why every Smalltalker Should use the Refactoring Browser. Published in the Smalltalk Report.
Robert W. Bowdidge and William G. Griswold.
Supporting the restructuring of data abstractions through manipulation of a program visualization, ACM TOSEM, Volume 7, No. 2 (April 1998) Pages 109-157.
miscellaneous:
...

mostly non-functional refactoring: people and tools

See also Martin Fowler's refactoring tools page.

home pages:
Martin Fowler
William G. Griswold
Bill Opdyke
Don Roberts
ADA:

The Ada Semantic Interface Specification (ASIS) is an interface between an Ada environment (as defined by ISO/IEC 8652:1995) and any tool or application requiring information from it. An Ada environment includes valuable semantic and syntactic information. ASIS is an open and published callable interface which gives CASE tool and application developers access to this information. ASIS has been designed to be independent of underlying Ada environment implementations, thus supporting portability of software engineering tools while relieving tool developers from needing to understand the complexities of an Ada environment's proprietary internal representation. In short, ASIS can provide the foundation for your code analysis activities.

C:
C/Java:
C#:
Python:
SmallTalk:
Java:

If you are aware of other relevant pointers, please send us an email, and we'll eventually get round to updating this page.