Summary
Roberts, Brant, and Johnson built the Refactoring Browser for Smalltalk — the first tool to automate refactoring operations with precondition checking. The tool implemented Opdyke’s catalog of behavior-preserving transformations, checking preconditions before each operation and composing atomic refactorings into larger restructurings. It demonstrated that formal preconditions weren’t just theoretical — they could drive practical tooling.
What it means for our work
This is the direct ancestor of Refactory. Roberts and Brant showed that Opdyke’s formalism could be mechanized; every IDE refactoring menu since descends from their work. Refactory picks up the thread for AI-assisted development: where the Refactoring Browser let a human select transformations from a menu, Refactory lets an AI agent select them — but the precondition checking and behavior preservation guarantees remain deterministic. The agent provides judgment; the tool provides proof.