{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T12:08:21Z","timestamp":1763467701210,"version":"3.41.0"},"reference-count":75,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2005,3,1]],"date-time":"2005-03-01T00:00:00Z","timestamp":1109635200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Program. Lang. Syst."],"published-print":{"date-parts":[[2005,3]]},"abstract":"<jats:p>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.<\/jats:p>","DOI":"10.1145\/1057387.1057388","type":"journal-article","created":{"date-parts":[[2005,8,3]],"date-time":"2005-08-03T08:30:55Z","timestamp":1123057855000},"page":"185-235","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":45,"title":["Symbolic bounds analysis of pointers, array indices, and accessed memory regions"],"prefix":"10.1145","volume":"27","author":[{"given":"Radu","family":"Rugina","sequence":"first","affiliation":[{"name":"Cornell University, Ithaca, NY"}]},{"given":"Martin C.","family":"Rinard","sequence":"additional","affiliation":[{"name":"Massachusetts Institute of Technology, Cambridge, MA"}]}],"member":"320","published-online":{"date-parts":[[2005,3]]},"reference":[{"volume-title":"Proceedings of the 8th SIAM Conference on Parallel Processing for Scientific Computing","author":"Amarasinghe S.","key":"e_1_2_1_1_1","unstructured":"Amarasinghe , S. , Anderson , J. , Lam , M. , and Tseng , C . 1995. The SUIF compiler for scalable parallel machines . In Proceedings of the 8th SIAM Conference on Parallel Processing for Scientific Computing ( San Francisco, Calif.).]] Amarasinghe, S., Anderson, J., Lam, M., and Tseng, C. 1995. The SUIF compiler for scalable parallel machines. In Proceedings of the 8th SIAM Conference on Parallel Processing for Scientific Computing (San Francisco, Calif.).]]"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/151333.151392"},{"volume-title":"Proceedings of the SIGPLAN '94 Conference on Program Language Design and Implementation (Orlando, Fla.). ACM","author":"Austin T.","key":"e_1_2_1_3_1","unstructured":"Austin , T. , Breach , S. , and Sohi , G . 1994. Efficient detection of all pointer and array access errors . In Proceedings of the SIGPLAN '94 Conference on Program Language Design and Implementation (Orlando, Fla.). ACM , New York.]] 10.1145\/178243.178446 Austin, T., Breach, S., and Sohi, G. 1994. Efficient detection of all pointer and array access errors. In Proceedings of the SIGPLAN '94 Conference on Program Language Design and Implementation (Orlando, Fla.). ACM, New York.]] 10.1145\/178243.178446"},{"key":"e_1_2_1_4_1","volume-title":"Proceedings of the 1989 ACM International Conference on Supercomputing","author":"Balasundaram V.","year":"1878","unstructured":"Balasundaram , V. and Kennedy , K . 1989a. Compile-time detection of race conditions in a parallel program . In Proceedings of the 1989 ACM International Conference on Supercomputing ( Crete, Greece). ACM, New York.]] 10.1145\/3 1878 9.318809 Balasundaram, V. and Kennedy, K. 1989a. Compile-time detection of race conditions in a parallel program. In Proceedings of the 1989 ACM International Conference on Supercomputing (Crete, Greece). ACM, New York.]] 10.1145\/318789.318809"},{"volume-title":"Proceedings of the SIGPLAN '89 Conference on Program Language Design and Implementation (Portland, Ore.). ACM","author":"Balasundaram V.","key":"e_1_2_1_5_1","unstructured":"Balasundaram , V. and Kennedy , K . 1989b. A technique for summarizing data access and its use in parallelism enhancing transformations . In Proceedings of the SIGPLAN '89 Conference on Program Language Design and Implementation (Portland, Ore.). ACM , New York.]] 10.1145\/73141.74822 Balasundaram, V. and Kennedy, K. 1989b. A technique for summarizing data access and its use in parallelism enhancing transformations. In Proceedings of the SIGPLAN '89 Conference on Program Language Design and Implementation (Portland, Ore.). ACM, New York.]] 10.1145\/73141.74822"},{"volume-title":"Dependence Analysis for Supercomputing","author":"Banerjee U.","key":"e_1_2_1_7_1","unstructured":"Banerjee , U. 1988. Dependence Analysis for Supercomputing . Kluwer Academic Publishers , Boston, Mass .]] Banerjee, U. 1988. Dependence Analysis for Supercomputing. Kluwer Academic Publishers, Boston, Mass.]]"},{"volume-title":"Proceedings of the 9th International Parallel Processing Symposium (Santa Barbara, Calif.).]]","author":"Blume W.","key":"e_1_2_1_8_1","unstructured":"Blume , W. and Eigenmann , R . 1995. Symbolic range propagation . In Proceedings of the 9th International Parallel Processing Symposium (Santa Barbara, Calif.).]] Blume, W. and Eigenmann, R. 1995. Symbolic range propagation. In Proceedings of the 9th International Parallel Processing Symposium (Santa Barbara, Calif.).]]"},{"volume-title":"Proceedings of the 7th Workshop on Languages and Compilers for Parallel Computing (Ithaca, N.Y.).]]","author":"Blume W.","key":"e_1_2_1_9_1","unstructured":"Blume , W. , Eigenmann , R. , Faigin , K. , Grout , J. , Hoeflinger , J. , Padua , D. , Petersen , P. , Pottenger , B. , Rauchwerger , L. , Tu , P. , and Weatherford , S . 1994. Polaris: The next generation in parallelizing compilers . In Proceedings of the 7th Workshop on Languages and Compilers for Parallel Computing (Ithaca, N.Y.).]] Blume, W., Eigenmann, R., Faigin, K., Grout, J., Hoeflinger, J., Padua, D., Petersen, P., Pottenger, B., Rauchwerger, L., Tu, P., and Weatherford, S. 1994. Polaris: The next generation in parallelizing compilers. In Proceedings of the 7th Workshop on Languages and Compilers for Parallel Computing (Ithaca, N.Y.).]]"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1006\/jpdc.1996.0107"},{"volume-title":"Proceedings of the SIGPLAN '00 Conference on Program Language Design and Implementation","author":"Bodik R.","key":"e_1_2_1_11_1","unstructured":"Bodik , R. , Gupta , R. , and Sarkar , V . 2000. ABCD: Eliminating array bounds checks on demand . In Proceedings of the SIGPLAN '00 Conference on Program Language Design and Implementation ( Vancouver, B.C., Canada). ACM, New York.]] 10.1145\/349299.349342 Bodik, R., Gupta, R., and Sarkar, V. 2000. ABCD: Eliminating array bounds checks on demand. In Proceedings of the SIGPLAN '00 Conference on Program Language Design and Implementation (Vancouver, B.C., Canada). ACM, New York.]] 10.1145\/349299.349342"},{"key":"e_1_2_1_12_1","volume-title":"Proceedings of the SIGPLAN '93 Conference on Program Language Design and Implementation","author":"Bourdoncle F.","year":"1993","unstructured":"Bourdoncle , F. 1993 . Abstract debugging of higher-order imperative languages . In Proceedings of the SIGPLAN '93 Conference on Program Language Design and Implementation ( Albuquerque, N.M.). ACM, New York.]] 10.1145\/155090.155095 Bourdoncle, F. 1993. Abstract debugging of higher-order imperative languages. In Proceedings of the SIGPLAN '93 Conference on Program Language Design and Implementation (Albuquerque, N.M.). ACM, New York.]] 10.1145\/155090.155095"},{"volume-title":"Proceedings of the 16th Annual Conference on Object-Oriented Programming Systems, Languages and Applications (Tampa Bay, Fla.).]] 10","author":"Boyapati C.","key":"e_1_2_1_13_1","unstructured":"Boyapati , C. and Rinard , M . 2001. A parameterized type system for race-free Java programs . In Proceedings of the 16th Annual Conference on Object-Oriented Programming Systems, Languages and Applications (Tampa Bay, Fla.).]] 10 .1145\/504282.504287 Boyapati, C. and Rinard, M. 2001. A parameterized type system for race-free Java programs. In Proceedings of the 16th Annual Conference on Object-Oriented Programming Systems, Languages and Applications (Tampa Bay, Fla.).]] 10.1145\/504282.504287"},{"volume-title":"Proceedings of the EuroPar 2000 European Conference on Parallel Computing","author":"Budiu M.","key":"e_1_2_1_14_1","unstructured":"Budiu , M. , Goldstein , S. , Sakr , M. , and Walker , K . 2000. BitValue inference: Detecting and exploiting narrow bitwidth computations . In Proceedings of the EuroPar 2000 European Conference on Parallel Computing ( Munich, Germany).]] Budiu, M., Goldstein, S., Sakr, M., and Walker, K. 2000. BitValue inference: Detecting and exploiting narrow bitwidth computations. In Proceedings of the EuroPar 2000 European Conference on Parallel Computing (Munich, Germany).]]"},{"volume-title":"Proceedings of the 2nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming","author":"Callahan D.","key":"e_1_2_1_15_1","unstructured":"Callahan , D. , Kennedy , K. , and Subhlok , J . 1990. Analysis of event synchronization in a parallel programming tool . In Proceedings of the 2nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming ( Seattle, Wash.). ACM, New York.]] 10.1145\/99163.99167 Callahan, D., Kennedy, K., and Subhlok, J. 1990. Analysis of event synchronization in a parallel programming tool. In Proceedings of the 2nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Seattle, Wash.). ACM, New York.]] 10.1145\/99163.99167"},{"volume-title":"Proceedings of the SIGPLAN '90 Conference on Program Language Design and Implementation (White Plains, N.Y.). ACM","author":"Chase D.","key":"e_1_2_1_16_1","unstructured":"Chase , D. , Wegman , M. , and Zadek , F . 1990. Analysis of pointers and structures . In Proceedings of the SIGPLAN '90 Conference on Program Language Design and Implementation (White Plains, N.Y.). ACM , New York.]] 10.1145\/93542.93585 Chase, D., Wegman, M., and Zadek, F. 1990. Analysis of pointers and structures. In Proceedings of the SIGPLAN '90 Conference on Program Language Design and Implementation (White Plains, N.Y.). ACM, New York.]] 10.1145\/93542.93585"},{"volume-title":"Proceedings of the 11th Annual ACM Symposium on Parallel Algorithms and Architectures","author":"Chatterjee S.","key":"e_1_2_1_17_1","unstructured":"Chatterjee , S. , Lebeck , A. , Patnala , P. , and Thottethodi , M . 1999. Recursive array layouts and fast matrix multiplication . In Proceedings of the 11th Annual ACM Symposium on Parallel Algorithms and Architectures ( Saint Malo, France). ACM, New York.]] 10.1145\/305619.305645 Chatterjee, S., Lebeck, A., Patnala, P., and Thottethodi, M. 1999. Recursive array layouts and fast matrix multiplication. In Proceedings of the 11th Annual ACM Symposium on Parallel Algorithms and Architectures (Saint Malo, France). ACM, New York.]] 10.1145\/305619.305645"},{"volume-title":"Proceedings of the 10th Annual ACM Symposium on Parallel Algorithms and Architectures","author":"Cheng G.","key":"e_1_2_1_18_1","unstructured":"Cheng , G. , Feng , M. , Leiserson , C. , Randall , K. , and Stark , A . 1998. Detecting data races in CILK programs that use locks . In Proceedings of the 10th Annual ACM Symposium on Parallel Algorithms and Architectures ( Puerto Vallarta, Mexico). ACM, New York.]] 10.1145\/277651.277696 Cheng, G., Feng, M., Leiserson, C., Randall, K., and Stark, A. 1998. Detecting data races in CILK programs that use locks. In Proceedings of the 10th Annual ACM Symposium on Parallel Algorithms and Architectures (Puerto Vallarta, Mexico). ACM, New York.]] 10.1145\/277651.277696"},{"volume-title":"Proceedings of the SIGPLAN '02 Conference on Program Language Design and Implementation","author":"Choi J.-D.","key":"e_1_2_1_19_1","unstructured":"Choi , J.-D. , Lee , K. , Loginov , A. , O'Callahan , R. , Sarkar , V. , and Sridharan , M . 2002. Efficient and precise datarace detection for multithreaded object-oriented programs . In Proceedings of the SIGPLAN '02 Conference on Program Language Design and Implementation ( Berlin, Germany).]] 10.1145\/512529.512560 Choi, J.-D., Lee, K., Loginov, A., O'Callahan, R., Sarkar, V., and Sridharan, M. 2002. Efficient and precise datarace detection for multithreaded object-oriented programs. In Proceedings of the SIGPLAN '02 Conference on Program Language Design and Implementation (Berlin, Germany).]] 10.1145\/512529.512560"},{"volume-title":"Proceedings of the SIGPLAN '01 Conference on Program Language Design and Implementation (Snowbird, Ut.).]] 10","author":"DeLine R.","key":"e_1_2_1_20_1","unstructured":"DeLine , R. and Fahndrich , M . 2001. Enforcing high-level protocols in low-level software . In Proceedings of the SIGPLAN '01 Conference on Program Language Design and Implementation (Snowbird, Ut.).]] 10 .1145\/378795.378811 DeLine, R. and Fahndrich, M. 2001. Enforcing high-level protocols in low-level software. In Proceedings of the SIGPLAN '01 Conference on Program Language Design and Implementation (Snowbird, Ut.).]] 10.1145\/378795.378811"},{"key":"e_1_2_1_21_1","volume-title":"Tech. Rep. 159","author":"Detlefs D.","year":"1998","unstructured":"Detlefs , D. , Leino , K. R. , Nelson , G. , and Saxe, J. 1998 . Extended static checking. Tech. Rep. 159 , Compaq Systems Research Center .]] Detlefs, D., Leino, K. R., Nelson, G., and Saxe, J. 1998. Extended static checking. Tech. Rep. 159, Compaq Systems Research Center.]]"},{"volume-title":"Proceedings of the ACM\/ONR Workshop on Parallel and Distributed Debugging (Santa Cruz, Calif.). ACM","author":"Dinning A.","key":"e_1_2_1_22_1","unstructured":"Dinning , A. and Schonberg , E . 1991. Detecting access anomalies in programs with critical sections . In Proceedings of the ACM\/ONR Workshop on Parallel and Distributed Debugging (Santa Cruz, Calif.). ACM , New York.]] 10.1145\/122759.122767 Dinning, A. and Schonberg, E. 1991. Detecting access anomalies in programs with critical sections. In Proceedings of the ACM\/ONR Workshop on Parallel and Distributed Debugging (Santa Cruz, Calif.). ACM, New York.]] 10.1145\/122759.122767"},{"key":"e_1_2_1_23_1","volume-title":"Proceedings of the 1991 International Symposium on Software Testing and Analysis (Victoria, B.C., Canada). ACM","author":"Duesterwald E.","year":"2080","unstructured":"Duesterwald , E. and Soffa , M . 1991. Concurrency analysis in the presence of procedures using a data-flow framework . In Proceedings of the 1991 International Symposium on Software Testing and Analysis (Victoria, B.C., Canada). ACM , New York.]] 10.1145\/1 2080 7.120811 Duesterwald, E. and Soffa, M. 1991. Concurrency analysis in the presence of procedures using a data-flow framework. In Proceedings of the 1991 International Symposium on Software Testing and Analysis (Victoria, B.C., Canada). ACM, New York.]] 10.1145\/120807.120811"},{"volume-title":"Proceedings of Supercomputing '89 (Reno, Nev.).]] 10","author":"Emrath P.","key":"e_1_2_1_24_1","unstructured":"Emrath , P. , Ghosh , S. , and Padua , D . 1989. Event synchronization analysis for debugging parallel programs . In Proceedings of Supercomputing '89 (Reno, Nev.).]] 10 .1145\/76263.76329 Emrath, P., Ghosh, S., and Padua, D. 1989. Event synchronization analysis for debugging parallel programs. In Proceedings of Supercomputing '89 (Reno, Nev.).]] 10.1145\/76263.76329"},{"volume-title":"Proceedings of the ACM SIGPLAN and SIGOPS Workshop on Parallel and Distributed Debugging","author":"Emrath P.","key":"e_1_2_1_25_1","unstructured":"Emrath , P. and Padua , D . 1988. Automatic detection of nondeterminacy in parallel programs . In Proceedings of the ACM SIGPLAN and SIGOPS Workshop on Parallel and Distributed Debugging ( Madison, Wisc.).]] 10.1145\/68210.69224 Emrath, P. and Padua, D. 1988. Automatic detection of nondeterminacy in parallel programs. In Proceedings of the ACM SIGPLAN and SIGOPS Workshop on Parallel and Distributed Debugging (Madison, Wisc.).]] 10.1145\/68210.69224"},{"volume-title":"Proceedings of the 1999 European Symposium on Programming","author":"Flanagan C.","key":"e_1_2_1_26_1","unstructured":"Flanagan , C. and Abadi , M . 1999. Types for safe locking . In Proceedings of the 1999 European Symposium on Programming . Amsterdam, The Netherlands.]] Flanagan, C. and Abadi, M. 1999. Types for safe locking. In Proceedings of the 1999 European Symposium on Programming. Amsterdam, The Netherlands.]]"},{"volume-title":"Proceedings of the SIGPLAN '00 Conference on Program Language Design and Implementation","author":"Flanagan C.","key":"e_1_2_1_27_1","unstructured":"Flanagan , C. and Freund , S . 2000. Type-based race detection for Java . In Proceedings of the SIGPLAN '00 Conference on Program Language Design and Implementation ( Vancouver, B.C., Canada). ACM, New York.]] 10.1145\/349299.349328 Flanagan, C. and Freund, S. 2000. Type-based race detection for Java. In Proceedings of the SIGPLAN '00 Conference on Program Language Design and Implementation (Vancouver, B.C., Canada). ACM, New York.]] 10.1145\/349299.349328"},{"volume-title":"Proceedings of the SIGPLAN '02 Conference on Program Language Design and Implementation","author":"Flanagan C.","key":"e_1_2_1_28_1","unstructured":"Flanagan , C. , Leino , R. , Lillibridge , M. , Nelson , G. , Saxe , J. , and Stata , R . 2002. Extended static checking for Java . In Proceedings of the SIGPLAN '02 Conference on Program Language Design and Implementation ( Berlin, Germany). ACM, New York.]] 10.1145\/512529.512558 Flanagan, C., Leino, R., Lillibridge, M., Nelson, G., Saxe, J., and Stata, R. 2002. Extended static checking for Java. In Proceedings of the SIGPLAN '02 Conference on Program Language Design and Implementation (Berlin, Germany). ACM, New York.]] 10.1145\/512529.512558"},{"volume-title":"Proceedings of the SIGPLAN '03 Conference on Program Language Design and Implementation","author":"Flanagan C.","key":"e_1_2_1_29_1","unstructured":"Flanagan , C. and Qadeer , S . 2003. A type and effect system for atomicity . In Proceedings of the SIGPLAN '03 Conference on Program Language Design and Implementation ( San Diego, Calif.). ACM, New York.]] 10.1145\/781131.781169 Flanagan, C. and Qadeer, S. 2003. A type and effect system for atomicity. In Proceedings of the SIGPLAN '03 Conference on Program Language Design and Implementation (San Diego, Calif.). ACM, New York.]] 10.1145\/781131.781169"},{"volume-title":"Proceedings of the 6th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Las Vegas, Nev.). ACM","author":"Frens J.","key":"e_1_2_1_30_1","unstructured":"Frens , J. and Wise , D . 1997. Auto-blocking matrix-multiplication or tracking BLAS3 performance from source code . In Proceedings of the 6th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Las Vegas, Nev.). ACM , New York.]] 10.1145\/263764.263789 Frens, J. and Wise, D. 1997. Auto-blocking matrix-multiplication or tracking BLAS3 performance from source code. In Proceedings of the 6th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Las Vegas, Nev.). ACM, New York.]] 10.1145\/263764.263789"},{"volume-title":"Proceedings of the SIGPLAN '98 Conference on Program Language Design and Implementation (Montreal, Que., Canada). ACM","author":"Frigo M.","key":"e_1_2_1_31_1","unstructured":"Frigo , M. , Leiserson , C. , and Randall , K . 1998. The implementation of the CILK-5 multithreaded language . In Proceedings of the SIGPLAN '98 Conference on Program Language Design and Implementation (Montreal, Que., Canada). ACM , New York.]] 10.1145\/277650.277725 Frigo, M., Leiserson, C., and Randall, K. 1998. The implementation of the CILK-5 multithreaded language. In Proceedings of the SIGPLAN '98 Conference on Program Language Design and Implementation (Montreal, Que., Canada). ACM, New York.]] 10.1145\/277650.277725"},{"volume-title":"Proceedings of the 23rd Annual ACM Symposium on the Principles of Programming Languages (St. Petersburg Beach, Fla.). ACM","author":"Ghiya R.","key":"e_1_2_1_32_1","unstructured":"Ghiya , R. and Hendren , L . 1996. Is is a tree, a DAG or a cyclic graph? A shape analysis for heap-directed pointers in C . In Proceedings of the 23rd Annual ACM Symposium on the Principles of Programming Languages (St. Petersburg Beach, Fla.). ACM , New York.]] 10.1145\/237721.237724 Ghiya, R. and Hendren, L. 1996. Is is a tree, a DAG or a cyclic graph? A shape analysis for heap-directed pointers in C. In Proceedings of the 23rd Annual ACM Symposium on the Principles of Programming Languages (St. Petersburg Beach, Fla.). ACM, New York.]] 10.1145\/237721.237724"},{"volume-title":"Proceedings of the SIGPLAN '91 Conference on Program Language Design and Implementation","author":"Goff G.","key":"e_1_2_1_33_1","unstructured":"Goff , G. , Kennedy , K. , and Tseng , C . 1991. Practical dependence testing . In Proceedings of the SIGPLAN '91 Conference on Program Language Design and Implementation ( Toronto, Ont., Canada). ACM, New York.]] 10.1145\/113445.113448 Goff, G., Kennedy, K., and Tseng, C. 1991. Practical dependence testing. In Proceedings of the SIGPLAN '91 Conference on Program Language Design and Implementation (Toronto, Ont., Canada). ACM, New York.]] 10.1145\/113445.113448"},{"volume-title":"Proceedings of the SIGPLAN '02 Conference on Program Language Design and Implementation","author":"Grossman D.","key":"e_1_2_1_34_1","unstructured":"Grossman , D. , Morrisett , G. , Jim , T. , Hicks , M. , Wang , Y. , and Cheney , J . 2002. Region-based memory management in Cyclone . In Proceedings of the SIGPLAN '02 Conference on Program Language Design and Implementation ( Berlin, Germany). ACM, New York.]] 10.1145\/512529.512563 Grossman, D., Morrisett, G., Jim, T., Hicks, M., Wang, Y., and Cheney, J. 2002. Region-based memory management in Cyclone. In Proceedings of the SIGPLAN '02 Conference on Program Language Design and Implementation (Berlin, Germany). ACM, New York.]] 10.1145\/512529.512563"},{"volume-title":"Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT '99)","author":"Gupta M.","key":"e_1_2_1_35_1","unstructured":"Gupta , M. , Mukhopadhyay , S. , and Sinha , N . 1999. Automatic parallelization of recursive procedures . In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT '99) (Newport Beach, Calif.).]] Gupta, M., Mukhopadhyay, S., and Sinha, N. 1999. Automatic parallelization of recursive procedures. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT '99) (Newport Beach, Calif.).]]"},{"key":"e_1_2_1_36_1","volume-title":"Proceedings of the SIGPLAN '90 Conference on Program Language Design and Implementation (White Plains, N.Y.). ACM","author":"Gupta R.","year":"1990","unstructured":"Gupta , R. 1990 . A fresh look at optimizing array bound checking . In Proceedings of the SIGPLAN '90 Conference on Program Language Design and Implementation (White Plains, N.Y.). ACM , New York.]] 10.1145\/93542.93581 Gupta, R. 1990. A fresh look at optimizing array bound checking. In Proceedings of the SIGPLAN '90 Conference on Program Language Design and Implementation (White Plains, N.Y.). ACM, New York.]] 10.1145\/93542.93581"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/176454.176507"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1147\/rd.416.0737"},{"volume-title":"Proceedings of Supercomputing '95","author":"Hall M.","key":"e_1_2_1_39_1","unstructured":"Hall , M. , Amarasinghe , S. , Murphy , B. , Liao , S. , and Lam , M . 1995. Detecting coarse-grain parallelism using an interprocedural parallelizing compiler . In Proceedings of Supercomputing '95 ( San Diego, Calif.).]] 10.1145\/224170.224337 Hall, M., Amarasinghe, S., Murphy, B., Liao, S., and Lam, M. 1995. Detecting coarse-grain parallelism using an interprocedural parallelizing compiler. In Proceedings of Supercomputing '95 (San Diego, Calif.).]] 10.1145\/224170.224337"},{"volume-title":"Proceedings of Supercomputing '92","author":"Hall M. W.","key":"e_1_2_1_40_1","unstructured":"Hall , M. W. , Hiranandani , S. , Kennedy , K. , and Tseng , C . 1992. Interprocedural compilation of Fortran D for MIMD distributed-memory machines . In Proceedings of Supercomputing '92 ( Minneapolis, Minn.).]] Hall, M. W., Hiranandani, S., Kennedy, K., and Tseng, C. 1992. Interprocedural compilation of Fortran D for MIMD distributed-memory machines. In Proceedings of Supercomputing '92 (Minneapolis, Minn.).]]"},{"key":"e_1_2_1_41_1","doi-asserted-by":"crossref","first-page":"243","DOI":"10.1109\/TSE.1977.231133","article-title":"Compiler analysis of the value ranges for variables","volume":"3","author":"Harrison W. H.","year":"1977","unstructured":"Harrison , W. H. 1977 . Compiler analysis of the value ranges for variables . IEEE Trans. Softw. Eng. SE-3 , 3 ( May ), 243 -- 250 .]] Harrison, W. H. 1977. Compiler analysis of the value ranges for variables. IEEE Trans. Softw. Eng. SE-3, 3 (May), 243--250.]]","journal-title":"IEEE Trans. Softw. Eng. SE-3"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/71.86110"},{"key":"e_1_2_1_43_1","volume-title":"Proceedings of the SIGPLAN '95 Conference on Program Language Design and Implementation","author":"Kolte P.","year":"2071","unstructured":"Kolte , P. and Wolfe , M . 1995. Elimination of redundant array subscript range checks . In Proceedings of the SIGPLAN '95 Conference on Program Language Design and Implementation ( San Diego, Calif.). ACM, New York.]] 10.1145\/ 2071 10.207160 Kolte, P. and Wolfe, M. 1995. Elimination of redundant array subscript range checks. In Proceedings of the SIGPLAN '95 Conference on Program Language Design and Implementation (San Diego, Calif.). ACM, New York.]] 10.1145\/207110.207160"},{"volume-title":"Proceedings of the 1990 International Conference on Parallel Processing (St. Charles, Ill.).]]","author":"Kong X.","key":"e_1_2_1_44_1","unstructured":"Kong , X. , Klappholz , D. , and Psarris , K . 1990. The I test: A new test for subscript data dependence . In Proceedings of the 1990 International Conference on Parallel Processing (St. Charles, Ill.).]] Kong, X., Klappholz, D., and Psarris, K. 1990. The I test: A new test for subscript data dependence. In Proceedings of the 1990 International Conference on Parallel Processing (St. Charles, Ill.).]]"},{"volume-title":"Proceedings of the 10th USENIX Security Symposium (Washington, D.C.).]]","author":"Larochelle D.","key":"e_1_2_1_45_1","unstructured":"Larochelle , D. and Evans , D . 2001. Statically detecting likely buffer overflow vulnerabilities . In Proceedings of the 10th USENIX Security Symposium (Washington, D.C.).]] Larochelle, D. and Evans, D. 2001. Statically detecting likely buffer overflow vulnerabilities. In Proceedings of the 10th USENIX Security Symposium (Washington, D.C.).]]"},{"volume-title":"Proceedings of the SIGPLAN '82 Symposium on Compiler Construction","author":"Markstein V.","key":"e_1_2_1_46_1","unstructured":"Markstein , V. , Cocke , J. , and Markstein , P . 1982. Optimization of range checking . In Proceedings of the SIGPLAN '82 Symposium on Compiler Construction ( Boston, Mass.). ACM, New York.]] 10.1145\/800230.806986 Markstein, V., Cocke, J., and Markstein, P. 1982. Optimization of range checking. In Proceedings of the SIGPLAN '82 Symposium on Compiler Construction (Boston, Mass.). ACM, New York.]] 10.1145\/800230.806986"},{"volume-title":"Proceedings of the SIGPLAN '91 Conference on Program Language Design and Implementation","author":"Maydan D.","key":"e_1_2_1_47_1","unstructured":"Maydan , D. , Hennessy , J. , and Lam , M . 1991. Efficient and exact data dependence analysis . In Proceedings of the SIGPLAN '91 Conference on Program Language Design and Implementation ( Toronto, Ont., Canada). ACM, New York.]] 10.1145\/113445.113447 Maydan, D., Hennessy, J., and Lam, M. 1991. Efficient and exact data dependence analysis. In Proceedings of the SIGPLAN '91 Conference on Program Language Design and Implementation (Toronto, Ont., Canada). ACM, New York.]] 10.1145\/113445.113447"},{"key":"e_1_2_1_48_1","volume-title":"Proceedings of Supercomputing '91","author":"Mellor-Crummey J.","year":"1991","unstructured":"Mellor-Crummey , J. 1991 . On-the-fly detection of data races for programs with nested fork-join parallelism . In Proceedings of Supercomputing '91 ( Albuquerque, N.M.).]] 10.1145\/125826.125861 Mellor-Crummey, J. 1991. On-the-fly detection of data races for programs with nested fork-join parallelism. In Proceedings of Supercomputing '91 (Albuquerque, N.M.).]] 10.1145\/125826.125861"},{"key":"e_1_2_1_49_1","volume-title":"Eiffel: The Language","author":"Meyer B.","year":"1992","unstructured":"Meyer , B. 1992 . Eiffel: The Language . Prentice-Hall , Englewood Cliffs , N.J.]] Meyer, B. 1992. Eiffel: The Language. Prentice-Hall, Englewood Cliffs, N.J.]]"},{"volume-title":"Proceedings of the 3rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Williamsburg, Va.). ACM","author":"Min S.","key":"e_1_2_1_50_1","unstructured":"Min , S. and Choi , J . 1991. Race frontier: Reproducing data races in parallel-program debugging . In Proceedings of the 3rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Williamsburg, Va.). ACM , New York.]] 10.1145\/109625.109641 Min, S. and Choi, J. 1991. Race frontier: Reproducing data races in parallel-program debugging. In Proceedings of the 3rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Williamsburg, Va.). ACM, New York.]] 10.1145\/109625.109641"},{"volume-title":"Proceedings of the SIGPLAN '98 Conference on Program Language Design and Implementation (Montreal, Que., Canada). ACM","author":"Necula G.","key":"e_1_2_1_51_1","unstructured":"Necula , G. and Lee , P . 1998. The design and implementation of a certifying compiler . In Proceedings of the SIGPLAN '98 Conference on Program Language Design and Implementation (Montreal, Que., Canada). ACM , New York.]] 10.1145\/277650.277752 Necula, G. and Lee, P. 1998. The design and implementation of a certifying compiler. In Proceedings of the SIGPLAN '98 Conference on Program Language Design and Implementation (Montreal, Que., Canada). ACM, New York.]] 10.1145\/277650.277752"},{"volume-title":"Proceedings of the 3rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Williamsburg, Va.). ACM","author":"Netzer R.","key":"e_1_2_1_52_1","unstructured":"Netzer , R. and Miller , B . 1991. Improving the accuracy of data race detection . In Proceedings of the 3rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Williamsburg, Va.). ACM , New York.]] 10.1145\/109625.109640 Netzer, R. and Miller, B. 1991. Improving the accuracy of data race detection. In Proceedings of the 3rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Williamsburg, Va.). ACM, New York.]] 10.1145\/109625.109640"},{"key":"e_1_2_1_53_1","doi-asserted-by":"crossref","unstructured":"Nielson F. Nielson H. and Hankin C. 1999. Principles of Program Analysis. Springer-Verlag Heidelberg Germany.]]   Nielson F. Nielson H. and Hankin C. 1999. Principles of Program Analysis. Springer-Verlag Heidelberg Germany.]]","DOI":"10.1007\/978-3-662-03811-6"},{"volume-title":"Proceedings of the 9th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming","author":"O'Callahan R.","key":"e_1_2_1_54_1","unstructured":"O'Callahan , R. and Choi , J . -D. 2003. Hybrid dynamic data race detection . In Proceedings of the 9th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming ( San Diego, Calif.). ACM, New York.]] 10.1145\/781498.781528 O'Callahan, R. and Choi, J.-D. 2003. Hybrid dynamic data race detection. In Proceedings of the 9th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (San Diego, Calif.). ACM, New York.]] 10.1145\/781498.781528"},{"key":"e_1_2_1_55_1","volume-title":"Proceedings of the SIGPLAN '95 Conference on Program Language Design and Implementation","author":"Patterson J.","year":"1995","unstructured":"Patterson , J. 1995 . Accurate static branch prediction by value range propagation . In Proceedings of the SIGPLAN '95 Conference on Program Language Design and Implementation ( San Diego, Calif.). ACM, New York.]] 10.1145\/ 207110.207117 Patterson, J. 1995. Accurate static branch prediction by value range propagation. In Proceedings of the SIGPLAN '95 Conference on Program Language Design and Implementation (San Diego, Calif.). ACM, New York.]] 10.1145\/207110.207117"},{"volume-title":"Proceedings of the 9th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming","author":"Pozniansky E.","key":"e_1_2_1_56_1","unstructured":"Pozniansky , E. and Schuster , A . 2003. Efficient on-the-fly data race detection in multihreaded C++ programs . In Proceedings of the 9th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming ( San Diego, Calif.). ACM, New York.]] 10.1145\/781498.781529 Pozniansky, E. and Schuster, A. 2003. Efficient on-the-fly data race detection in multihreaded C++ programs. In Proceedings of the 9th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (San Diego, Calif.). ACM, New York.]] 10.1145\/781498.781529"},{"volume-title":"Proceedings of the 16th Annual Conference on Object-Oriented Programming Systems, Languages and Applications (Tampa Bay, Fla.).]] 10","author":"Praun C.","key":"e_1_2_1_57_1","unstructured":"Praun , C. and Gross , T . 2001. Object race detection . In Proceedings of the 16th Annual Conference on Object-Oriented Programming Systems, Languages and Applications (Tampa Bay, Fla.).]] 10 .1145\/504282.504288 Praun, C. and Gross, T. 2001. Object race detection. In Proceedings of the 16th Annual Conference on Object-Oriented Programming Systems, Languages and Applications (Tampa Bay, Fla.).]] 10.1145\/504282.504288"},{"volume-title":"Proceedings of the SIGPLAN '03 Conference on Program Language Design and Implementation","author":"Praun C.","key":"e_1_2_1_58_1","unstructured":"Praun , C. and Gross , T . 2003. Static conflict analysis for multi-threaded object-oriented programs . In Proceedings of the SIGPLAN '03 Conference on Program Language Design and Implementation ( San Diego, Calif.). ACM, New York.]] 10.1145\/781131.781145 Praun, C. and Gross, T. 2003. Static conflict analysis for multi-threaded object-oriented programs. In Proceedings of the SIGPLAN '03 Conference on Program Language Design and Implementation (San Diego, Calif.). ACM, New York.]] 10.1145\/781131.781145"},{"key":"e_1_2_1_59_1","volume-title":"Proceedings of Supercomputing '91","author":"Pugh W.","year":"1991","unstructured":"Pugh , W. 1991 . The Omega test: A fast and practical integer programming algorithm for dependence analysis . In Proceedings of Supercomputing '91 ( Albuquerque, N.M.).]] 10.1145\/125826.125848 Pugh, W. 1991. The Omega test: A fast and practical integer programming algorithm for dependence analysis. In Proceedings of Supercomputing '91 (Albuquerque, N.M.).]] 10.1145\/125826.125848"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/267959.269969"},{"volume-title":"Proceedings of the 7th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Atlanta, Ga.). ACM","author":"Rugina R.","key":"e_1_2_1_61_1","unstructured":"Rugina , R. and Rinard , M . 1999a. Automatic parallelization of divide and conquer algorithms . In Proceedings of the 7th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Atlanta, Ga.). ACM , New York.]] 10.1145\/301104.301111 Rugina, R. and Rinard, M. 1999a. Automatic parallelization of divide and conquer algorithms. In Proceedings of the 7th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (Atlanta, Ga.). ACM, New York.]] 10.1145\/301104.301111"},{"volume-title":"Proceedings of the SIGPLAN '99 Conference on Program Language Design and Implementation (Atlanta, Ga.). ACM","author":"Rugina R.","key":"e_1_2_1_62_1","unstructured":"Rugina , R. and Rinard , M . 1999b. Pointer analysis for multithreaded programs . In Proceedings of the SIGPLAN '99 Conference on Program Language Design and Implementation (Atlanta, Ga.). ACM , New York.]] 10.1145\/301618.301645 Rugina, R. and Rinard, M. 1999b. Pointer analysis for multithreaded programs. In Proceedings of the SIGPLAN '99 Conference on Program Language Design and Implementation (Atlanta, Ga.). ACM, New York.]] 10.1145\/301618.301645"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/271510.271517"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/514188.514190"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/265924.265927"},{"key":"e_1_2_1_66_1","volume-title":"Proceedings of the 17th Annual ACM Symposium on the Principles of Programming Languages","author":"Steele G.","year":"1990","unstructured":"Steele , G. 1990 . Making asynchronous parallelism safe for the world . In Proceedings of the 17th Annual ACM Symposium on the Principles of Programming Languages ( San Francisco, Calif.). ACM, New York.]] 10.1145\/96709.96731 Steele, G. 1990. Making asynchronous parallelism safe for the world. In Proceedings of the 17th Annual ACM Symposium on the Principles of Programming Languages (San Francisco, Calif.). ACM, New York.]] 10.1145\/96709.96731"},{"key":"e_1_2_1_67_1","volume-title":"Proceedings of the 23rd Annual ACM Symposium on the Principles of Programming Languages (St. Petersburg Beach, Fla.). ACM","author":"Steensgaard B.","year":"1996","unstructured":"Steensgaard , B. 1996 . Points-to analysis in almost linear time . In Proceedings of the 23rd Annual ACM Symposium on the Principles of Programming Languages (St. Petersburg Beach, Fla.). ACM , New York.]] 10.1145\/237721.237727 Steensgaard, B. 1996. Points-to analysis in almost linear time. In Proceedings of the 23rd Annual ACM Symposium on the Principles of Programming Languages (St. Petersburg Beach, Fla.). ACM, New York.]] 10.1145\/237721.237727"},{"volume-title":"Proceedings of the SIGPLAN '00 Conference on Program Language Design and Implementation","author":"Stephenson M.","key":"e_1_2_1_68_1","unstructured":"Stephenson , M. , Babb , J. , and Amarasinghe , S . 2000. Bitwidth analysis with application to silicon compilation . In Proceedings of the SIGPLAN '00 Conference on Program Language Design and Implementation ( Vancouver, B.C., Canada). ACM, New York.]] 10.1145\/349299.349317 Stephenson, M., Babb, J., and Amarasinghe, S. 2000. Bitwidth analysis with application to silicon compilation. In Proceedings of the SIGPLAN '00 Conference on Program Language Design and Implementation (Vancouver, B.C., Canada). ACM, New York.]] 10.1145\/349299.349317"},{"key":"e_1_2_1_69_1","volume-title":"Proceedings of the 1993 Winter USENIX Conference","author":"Sterling N.","year":"1994","unstructured":"Sterling , N. 1994 . Warlock: A static data race analysis tool . In Proceedings of the 1993 Winter USENIX Conference ( San Diego, Calif.).]] Sterling, N. 1994. Warlock: A static data race analysis tool. In Proceedings of the 1993 Winter USENIX Conference (San Diego, Calif.).]]"},{"volume-title":"Conference Record of the 4th Annual ACM Symposium on the Principles of Programming Languages","author":"Suzuki N.","key":"e_1_2_1_70_1","unstructured":"Suzuki , N. and Ishihata , K . 1977. Implementation of an array bound checker . In Conference Record of the 4th Annual ACM Symposium on the Principles of Programming Languages ( Los Angeles, Calif.). ACM, New York.]] 10.1145\/512950.512963 Suzuki, N. and Ishihata, K. 1977. Implementation of an array bound checker. In Conference Record of the 4th Annual ACM Symposium on the Principles of Programming Languages (Los Angeles, Calif.). ACM, New York.]] 10.1145\/512950.512963"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1145\/69586.69587"},{"volume-title":"Proceedings of the SIGPLAN '86 Symposium on Compiler Construction (Palo Alto, Calif.). ACM","author":"Triolet R.","key":"e_1_2_1_72_1","unstructured":"Triolet , R. , Irigoin , F. , and Feautrier , P . 1986. Direct parallelization of CALL statements . In Proceedings of the SIGPLAN '86 Symposium on Compiler Construction (Palo Alto, Calif.). ACM , New York.]] 10.1145\/12276.13329 Triolet, R., Irigoin, F., and Feautrier, P. 1986. Direct parallelization of CALL statements. In Proceedings of the SIGPLAN '86 Symposium on Compiler Construction (Palo Alto, Calif.). ACM, New York.]] 10.1145\/12276.13329"},{"volume-title":"Proceedings of the 1996 International Conference on Compiler Construction","author":"Verbrugge C.","key":"e_1_2_1_73_1","unstructured":"Verbrugge , C. , Co , P. , and Hendren , L . 1996. Generalized constant propagation: A study in C . In Proceedings of the 1996 International Conference on Compiler Construction ( Link\u00f6ping, Sweden).]] Verbrugge, C., Co, P., and Hendren, L. 1996. Generalized constant propagation: A study in C. In Proceedings of the 1996 International Conference on Compiler Construction (Link\u00f6ping, Sweden).]]"},{"volume-title":"Network and Distributed System Security Symposium","author":"Wagner D.","key":"e_1_2_1_74_1","unstructured":"Wagner , D. , Foster , J. , Brewer , E. , and Aiken , A . 2000. A first step towards automated detection of buffer overrun vulnerabilities . In Network and Distributed System Security Symposium ( San Diego, Calif.).]] Wagner, D., Foster, J., Brewer, E., and Aiken, A. 2000. A first step towards automated detection of buffer overrun vulnerabilities. In Network and Distributed System Security Symposium (San Diego, Calif.).]]"},{"key":"e_1_2_1_75_1","volume-title":"Proceedings of the SIGPLAN '95 Conference on Program Language Design and Implementation (La Jolla, Calif.). ACM","author":"Wilson R.","year":"2071","unstructured":"Wilson , R. and Lam , M . 1995. Efficient context-sensitive pointer analysis for C programs . In Proceedings of the SIGPLAN '95 Conference on Program Language Design and Implementation (La Jolla, Calif.). ACM , New York.]] 10.1145\/ 2071 10.207111 Wilson, R. and Lam, M. 1995. Efficient context-sensitive pointer analysis for C programs. In Proceedings of the SIGPLAN '95 Conference on Program Language Design and Implementation (La Jolla, Calif.). ACM, New York.]] 10.1145\/207110.207111"},{"volume-title":"Proceedings of the SIGPLAN '98 Conference on Program Language Design and Implementation (Montreal, Que., Canada). ACM","author":"Xi H.","key":"e_1_2_1_77_1","unstructured":"Xi , H. and Pfenning , F . 1998. Eliminating array bound checking through dependent types . In Proceedings of the SIGPLAN '98 Conference on Program Language Design and Implementation (Montreal, Que., Canada). ACM , New York.]] 10.1145\/277650.277732 Xi, H. and Pfenning, F. 1998. Eliminating array bound checking through dependent types. In Proceedings of the SIGPLAN '98 Conference on Program Language Design and Implementation (Montreal, Que., Canada). ACM, New York.]] 10.1145\/277650.277732"}],"container-title":["ACM Transactions on Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1057387.1057388","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1057387.1057388","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T16:07:51Z","timestamp":1750262871000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1057387.1057388"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2005,3]]},"references-count":75,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2005,3]]}},"alternative-id":["10.1145\/1057387.1057388"],"URL":"https:\/\/doi.org\/10.1145\/1057387.1057388","relation":{},"ISSN":["0164-0925","1558-4593"],"issn-type":[{"type":"print","value":"0164-0925"},{"type":"electronic","value":"1558-4593"}],"subject":[],"published":{"date-parts":[[2005,3]]},"assertion":[{"value":"2005-03-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}