This book introduces a novel approach to modeling the behavior of programs at runtime. The technique leverages the structure of object-oriented programs to derive models that describe the behavior of individual objects. Our approach mines object behavior models, finite state automata where states correspond to different states of an object, and transitions are caused by method invocations. Such models capture the effects of method invocations on an object's state. This approach is the first to combine the control-flow with information about the values of variables. It is implemented in the publicly available Adabu tool, which mines object behavior models from the executions of large interactive programs. This book also shows the usefulness of object behavior models for automatic fix generation and specification mining.