Film can be flexible and forgiving in many situations, even when the camera is set to the wrong ISO and the film is not properly exposed. Sometimes, a photographer will find themselves in a situation that requires a high-speed film for low-light events and all that's available is film best used on a sunny day. Mistakes happen and there are ways to work around them by adjusting the time of development using two methods referred to as Push Processing and Pull Processing.
Push Processing attempts to correct an underexposed roll of film by overdeveloping, either because the film was improperly exposed (the camera was set to the wrong ISO) or when a lower speed film was used in low lighting conditions (ISO 800 rather than ISO 1600, for example). With mistakes, there's no going back, however when deliberately underexposing a roll of film, there are a factors to keep in mind. Underexposing the film causes a loss of detail in the darker shadow areas of the image while preserving detail in the mid-tones and highlights, and overdeveloping increases the contrast and grain that can affect overall image quality. Together, this can result in highly-contrasted images and grain, good in some causes but less than ideal in others. To get around this, expose the film for the shadow areas.
Pull Processing helps correct overexposed film by underdeveloping it. This option is generally used to correct for accidental overexposure (forgetting to set the camera's manual ISO setting), to reduce grain, or to compensate for high-contrast lighting to control shadow detail. By contrast to push processing (pun intended), overexposing the film causes highlights to blow out and lose detail. Underdeveloping adjusts for this by preserving detail in these lighter areas and decreasing the grain in the shadows and darker areas of the image.
Since situations, film, developers, exposure, and photographers are all variable factors, push and pull processing guidelines are offered as starting points, only, and differ by film manufacturer and other published data tables. A general guideline to establish a starting point is to underexpose by 1 stop and overdevelop by 1 stop. Kodak recommends to increase the development time by 2 minutes for each stop of underexposure (pull processing) and to decrease the development time by 1 minute for each stop of overexposure (push processing). Digital Truth offers factors by which the normal development time should be increased for each exposure stop.
Before attempting push or pull processing, be sure to check with the film manufacturer for recommendations. And, remember that push or pull processing affects the entire roll of film even if some frames were exposed properly.