Publication | Open Access
Symbolic bounds analysis of pointers, array indices, and accessed memory regions
67
Citations
80
References
2005
Year
Array IndicesEngineeringCompiler TechnologyComputer ArchitectureComputational ComplexityLinear ProgramMemory Model (Programming)Software AnalysisFormal VerificationArray ComputingShared MemoryCompilersParallel ComputingMemory ManagementInequality ConstraintsCompiler SupportMemory RegionsComputer EngineeringComputer ScienceOptimizing CompilerStatic Program AnalysisProgram AnalysisArray Bounds ViolationsFormal MethodsParallel ProgrammingSymbolic ExecutionSystem Software
This article presents a novel framework for the symbolic bounds analysis of pointers, array indices, and accessed memory regions. Our framework formulates each analysis problem as a system of inequality constraints between symbolic bound polynomials. It then reduces the constraint system to a linear program. The solution to the linear program provides symbolic lower and upper bounds for the values of pointer and array index variables and for the regions of memory that each statement and procedure accesses. This approach eliminates fundamental problems associated with applying standard fixed-point approaches to symbolic analysis problems. Experimental results from our implemented compiler show that the analysis can solve several important problems, including static race detection, automatic parallelization, static detection of array bounds violations, elimination of array bounds checks, and reduction of the number of bits used to store computed values.
| Year | Citations | |
|---|---|---|
Page 1
Page 1