In a computer controlled object oriented programming system having means for interfacing a plurality of programming objects with each other to provide combination objects combining programming functions of said objects, each object and combination object respectively including predetermined interface data defining a required common interface with the other programming objects through which interface said objects and combination objects may be further combined to form objects of increasing complexity which function as program versions, the improvement wherein said system further comprises:
- each of a plurality of said objects and combination objects respectively having a framework comprising a plurality of data attributes and a method of manipulating said data attributes,
- means for detecting the occurrence of predefined combined programming functions, and
- means responsive to said detecting means for automatically recording program property data identifying the program version having said detected combined programming functions.