Font Size: a A A

Static analysis of memory accesses in multithreaded and recursive programs

Posted on:2003-07-22Degree:Ph.DType:Thesis
University:University of California, Santa BarbaraCandidate:Rugina, RaduFull Text:PDF
GTID:2468390011979936Subject:Computer Science
Abstract/Summary:
Virtually all program transformations and safety checks require information about the memory locations accessed by the statements and procedures in the program. But many constructs in modern programming languages (for example, pointers, object references, recursion, and multiple threads) make it difficult to obtain this kind of information.; This thesis presents two new static analysis techniques, a pointer analysis and a symbolic bounds analysis, that precisely characterize how the program accesses memory. Pointer analysis computes where pointer variables may point during the execution of the program. The symbolic bounds analysis characterizes how the program accesses regions within dynamically allocated blocks of memory. Both techniques can successfully analyze recursive and multithreaded programs that heavily use pointers.; Experimental results from our implemented program analysis system show that these techniques enable a wide range of further analyses, transformations, and safety checks, including race detection, detection of bounds violations for dynamically allocated regions of memory, elimination of array bounds checks, and automatic parallelization.
Keywords/Search Tags:Memory, Program, Checks, Accesses, Bounds
Related items