HP Labs Technical Reports
Process Programming by Hindsight
Garg, Pankaj K.; Bhansali, Sanjay
Abstract: Process programming refers to the activity of describing models of programming activities (processes) as algorithms. A serious limitation of process programming has been that it is often hard to describe a programming process a priori. In this paper we present an approach to process programming which addresses this limitation. Our approach is based on the premise that process programs are easier to describe in hindsight than foresight, and hence can be synthesized by observing and analyzing a recorded process history. In this paper we describe an adaptation of the well-known explanation-based learning algorithm to synthesize a process fragment from a process history. We demonstrate the usefulness of the approach on a realistic example of coordinating file changes through a version control system.
Back to Index