Testing techniques such as static analysis, symbolic evaluation and instrumentation had been integrated into a single scheme based on the attribute grammar and a prototype was implemented for testing programs written in a subset of the Pascal language. In this thesis, a software instrumentation tool(INSTRUMENT) based on the attribute grammar has been developed. This tool can be used in a practical Pascal programming environment to monitor the level of the statement coverage, branch coverage, condition coverage and path coverage. Because of the syntax-directed nature of our formulation, INSTRUMENT can be easily combined with other syntax-directed tools such as editors, compilers and data flow analyzers to form a unified programming environment. INSTRUMENT has been implemented on VAX 11/780 running under the 4.2 BSD UNIX system.