HACKER, a Program That Learned From Its Bugs

HACKER was the subject of Gerald Jay Sussman’s 1973 MIT doctoral thesis, “A Computational Model of Skill Acquisition,” issued as MIT AI Laboratory Technical Report 297 and archived in MIT’s DSpace repository. The thesis confronts the nature of learning an intellectual skill, defined as the ability to solve problems efficiently in a particular domain, and HACKER is the program built to study it. It worked in the blocks world, the simplified tabletop of stacked blocks that was the standard testbed for planning and reasoning at MIT.

HACKER’s distinctive idea was learning by debugging. The program kept a library of procedures (“the Answer Library”), indexed by descriptions of the problem types they handled. Faced with a new goal, it would look for an applicable procedure; if none existed, it wrote one using general knowledge of the domain and of programming. Critically, the new procedure was usually buggy. HACKER would run it, watch it fail, classify the failure against a catalog of known bug types, and then apply a corresponding patch, generalizing the repaired procedure before filing it back in the library for future use. This work surfaced the famous Sussman anomaly, a simple blocks-world goal that exposes why naive planners that pursue subgoals independently can undo their own progress.

The notion that an intelligent system improves by writing imperfect plans and then systematically diagnosing and repairing their failures was influential well beyond the blocks world, feeding into later research on planning, debugging, and machine learning.

Why a business reader should care: HACKER is an early, concrete picture of software that gets better through trial, failure, and self-correction rather than through fixed instructions, the same loop that underlies modern systems that learn from their own mistakes.

Sources

Last verified June 7, 2026