Software diagnostic tool. Observation points can be dynamically declared in various program locations. Observation points track progress within the application, displaying the values of program variables and flagging changes made to variables during actual runtime. Programs and applications do not need to undergo any modifications to source code prior to running the product.