Fault localization in program debugging is the process of identifying program statements which cause anomalous behavior. We have developed a prototype, knowledge-based model of the fault localization process. Novel features of the model include the integration of prototypic and causal reasoning about faults and a recognition-based mechanism for program abstraction. An explicit division of knowledge from the applications, programming, and language domains facilitate model tuning within as well as across applications domains. We describe model structure and performance for a class of faults associated with master file update programs.