1. A method for generating a reusable executable procedure, comprising the steps of: obtaining a plurality of execution traces, wherein each execution trace represents an execution instance of a procedure; aligning said execution traces to identify corresponding steps between said execution traces; and processing said aligned execution traces to create a reusable executable procedure associated with said procedure.