White box testing helps us to identify memory leaks. When we allocate memory using malloc( ) in C, we should explicitly RELEASE that memory also. If this is not done then over time, there would be no memory available for allocating memory on requests. This can be done using debuggers also that can tally allocated and freed memory.
Performance analysis: Code coverage tests can identify the areas of a code that are EXECUTED most frequently. Extra efforts can be then made to check these sections of code. To do further performance improvement techniques like caching, co-processing or even parallel processing can be considered.
Coverage tests with instrumented code is one of the best means of identifying any violations of such concurrency constraints through critical sections.
White box testing is useful in identifying bottlenecks in resource usage. For example, it particular resource like RAM or ROM or even network is perceived as a bottleneck then instrumented code can help identify where the bottlenecks are and POINTTOWARDS possible solutions.
White box testing can help identify security holes in dynamically generated code. For exam in case of Java, some intermediate code may also be generated. Testing this intermediate code requires code knowledge. White box testing only does this.