{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,1]],"date-time":"2024-09-01T10:50:27Z","timestamp":1725187827182},"reference-count":97,"publisher":"Association for Computing Machinery (ACM)","issue":"1","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Program. Lang. Syst."],"published-print":{"date-parts":[[2007,11]]},"abstract":"\n The subject of this article is flow- and context-insensitive pointer analysis. We present a novel approach for precisely modelling struct variables and indirect function calls. Our method emphasises efficiency and simplicity and is based on a simple language of set constraints. We obtain an\n O<\/jats:italic>\n (\n v<\/jats:italic>\n 4<\/jats:sup>\n ) bound on the time needed to solve a set of constraints from this language, where\n v<\/jats:italic>\n is the number of constraint variables. This gives, for the first time, some insight into the hardness of performing field-sensitive pointer analysis of C. Furthermore, we experimentally evaluate the time versus precision trade-off for our method by comparing against the field-insensitive equivalent. Our benchmark suite consists of 11 common C programs ranging in size from 15,000 to 200,000 lines of code. Our results indicate the field-sensitive analysis is more expensive to compute, but yields significantly better precision. In addition, our technique has been integrated into the latest release (version 4.1) of the GNU Compiler GCC. Finally, we identify several previously unknown issues with an alternative and less precise approach to modelling struct variables, known as field-based analysis.\n <\/jats:p>","DOI":"10.1145\/1290520.1290524","type":"journal-article","created":{"date-parts":[[2007,12,7]],"date-time":"2007-12-07T19:19:01Z","timestamp":1197055141000},"page":"4","update-policy":"http:\/\/dx.doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":77,"title":["Efficient field-sensitive pointer analysis of C"],"prefix":"10.1145","volume":"30","author":[{"given":"David J.","family":"Pearce","sequence":"first","affiliation":[{"name":"Victoria University of Wellington, Wellington, New Zealand"}]},{"given":"Paul H.J.","family":"Kelly","sequence":"additional","affiliation":[{"name":"Imperial College, London, United Kingdom"}]},{"given":"Chris","family":"Hankin","sequence":"additional","affiliation":[{"name":"Imperial College, London, United Kingdom"}]}],"member":"320","published-online":{"date-parts":[[2007,11]]},"reference":[{"key":"e_1_2_1_1_1","series-title":"Lecture Notes in Computer Science","volume-title":"Proceedings of the Workshop on Principles and Practice of Constraint Programming (PPCP)","author":"Aiken A.","unstructured":"Aiken , A. 1994. Set constraints: Results, applications, and future directions . In Proceedings of the Workshop on Principles and Practice of Constraint Programming (PPCP) . Lecture Notes in Computer Science , vol. 874 . Springer-Verlag , New York , 326--335. Aiken, A. 1994. Set constraints: Results, applications, and future directions. In Proceedings of the Workshop on Principles and Practice of Constraint Programming (PPCP). Lecture Notes in Computer Science, vol. 874. Springer-Verlag, New York, 326--335."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-6423(99)00007-6"},{"key":"e_1_2_1_3_1","volume-title":"Proceedings of the IEEE Symposium on Logic in Computer Science (LICS). IEEE Computer Society Press","author":"Aiken A.","unstructured":"Aiken , A. , and Wimmers , E. L . 1992. Solving systems of set constraints . In Proceedings of the IEEE Symposium on Logic in Computer Science (LICS). IEEE Computer Society Press , Los Alamitos, CA, 329--340. Aiken, A., and Wimmers, E. L. 1992. Solving systems of set constraints. In Proceedings of the IEEE Symposium on Logic in Computer Science (LICS). IEEE Computer Society Press, Los Alamitos, CA, 329--340."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/165180.165188"},{"key":"e_1_2_1_5_1","series-title":"Lecture Notes in Computer Science","volume-title":"MOCHA: Modularity in model checking. In Proceedings of the Conference on Computer Aided Verification (CAV)","author":"Alur R.","year":"1998","unstructured":"Alur , R. , Henzinger , T. A. , Mang , F. Y. C. , Qadeer , S. , Rajamani , S. K. , and Tasiran , S . 1998 . MOCHA: Modularity in model checking. In Proceedings of the Conference on Computer Aided Verification (CAV) . Lecture Notes in Computer Science , vol. 1427 . Springer-Verlag , New York , 521--525. Alur, R., Henzinger, T. A., Mang, F. Y. C., Qadeer, S., Rajamani, S. K., and Tasiran, S. 1998. MOCHA: Modularity in model checking. In Proceedings of the Conference on Computer Aided Verification (CAV). Lecture Notes in Computer Science, vol. 1427. Springer-Verlag, New York, 521--525."},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of the Workshop on Automated and Algorithmic Debugging (AADEBUG). Lecture Notes in Computer Science","volume":"749","author":"Ball T.","unstructured":"Ball , T. and Horwitz , S . 1993. Slicing programs with arbitrary control-flow . In Proceedings of the Workshop on Automated and Algorithmic Debugging (AADEBUG). Lecture Notes in Computer Science , vol. 749 . Springer-Verlag, New York, 206--222. Ball, T. and Horwitz, S. 1993. Slicing programs with arbitrary control-flow. In Proceedings of the Workshop on Automated and Algorithmic Debugging (AADEBUG). Lecture Notes in Computer Science, vol. 749. Springer-Verlag, New York, 206--222."},{"key":"e_1_2_1_8_1","volume-title":"Proceedings of the GCC Developers Summit. 25--36","author":"Berlin D.","year":"2005","unstructured":"Berlin , D. 2005 . Structure aliasing in GCC . In Proceedings of the GCC Developers Summit. 25--36 . Berlin, D. 2005. Structure aliasing in GCC. In Proceedings of the GCC Developers Summit. 25--36."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781144"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0950-5849(98)00085-8"},{"key":"e_1_2_1_11_1","volume-title":"Transformation. Lecture Notes in Computer Science","volume":"2566","author":"Blanchet B.","unstructured":"Blanchet , B. , Cousot , P. , Cousot , R. , Feret , J. , Mauborgne , L. , Min\u00e9 , A. , Monniaux , D. , and Rival , X . 2002. Design and implementation of a special-purpose static program analyzer for safety-critical real-time embedded software. In The Essence of Computation: Complexity, Analysis , Transformation. Lecture Notes in Computer Science , vol. 2566 . Springer-Verlag, New York, 85--108. Blanchet, B., Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Min\u00e9, A., Monniaux, D., and Rival, X. 2002. Design and implementation of a special-purpose static program analyzer for safety-critical real-time embedded software. In The Essence of Computation: Complexity, Analysis, Transformation. Lecture Notes in Computer Science, vol. 2566. Springer-Verlag, New York, 85--108."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781153"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/155090.155095"},{"key":"e_1_2_1_14_1","series-title":"Lecture Notes in Computer Science","volume-title":"Proceedings of the Conference on Formal Methods in Programming and Their Applications","author":"Bourdoncle F.","unstructured":"Bourdoncle , F. 1993b. Efficient chaotic iteration strategies with widenings . In Proceedings of the Conference on Formal Methods in Programming and Their Applications . Lecture Notes in Computer Science , vol. 735 . Springer-Verlag , New York , 128--141. Bourdoncle, F. 1993b. Efficient chaotic iteration strategies with widenings. In Proceedings of the Conference on Formal Methods in Programming and Their Applications. Lecture Notes in Computer Science, vol. 735. Springer-Verlag, New York, 128--141."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/78969.78963"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/316158.316183"},{"key":"e_1_2_1_17_1","unstructured":"Chandra S. and Reps T. 1999b. Physical type checking for C. Technical Report BL0113590-990302-04 Lucent Technologies Bell Laboratories. Chandra S. and Reps T. 1999b. Physical type checking for C. Technical Report BL0113590-990302-04 Lucent Technologies Bell Laboratories."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/292540.292554"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/181181.181308"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349311"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349309"},{"key":"e_1_2_1_22_1","volume-title":"Proceedings of the Static Analysis Symposium (SAS). Lecture Notes in Computer Science","volume":"2126","author":"Das M.","unstructured":"Das , M. , Liblit , B. , F\u00e4hndrich , M. , and Rehof , J . 2001. Estimating the impact of scalable pointer analysis on optimization . In Proceedings of the Static Analysis Symposium (SAS). Lecture Notes in Computer Science , vol. 2126 . Springer-Verlag, New York, 260--278. Das, M., Liblit, B., F\u00e4hndrich, M., and Rehof, J. 2001. Estimating the impact of scalable pointer analysis on optimization. In Proceedings of the Static Analysis Symposium (SAS). Lecture Notes in Computer Science, vol. 2126. Springer-Verlag, New York, 260--278."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/277650.277670"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781149"},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the IEEE Symposium on Research in Security and Privacy. IEEE Computer Society Press","author":"Eichin M. W.","unstructured":"Eichin , M. W. and Rochlis , J. A . 1989. With microscope and tweezers: An analysis of the internet virus of November 1988 . In Proceedings of the IEEE Symposium on Research in Security and Privacy. IEEE Computer Society Press , Los Alamitos, CA, 326--343. Eichin, M. W. and Rochlis, J. A. 1989. With microscope and tweezers: An analysis of the internet virus of November 1988. In Proceedings of the IEEE Symposium on Research in Security and Privacy. IEEE Computer Society Press, Los Alamitos, CA, 326--343."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/178243.178264"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/277650.277667"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349332"},{"key":"e_1_2_1_29_1","volume-title":"Proceedings of the Static Analysis Symposium (SAS). Lecture Notes in Computer Science","volume":"1145","author":"Fecht C.","unstructured":"Fecht , C. and Seidl , H . 1996. An even faster solver for general systems of equations . In Proceedings of the Static Analysis Symposium (SAS). Lecture Notes in Computer Science , vol. 1145 . Springer-Verlag, New York, 189--204. Fecht, C. and Seidl, H. 1996. An even faster solver for general systems of equations. In Proceedings of the Static Analysis Symposium (SAS). Lecture Notes in Computer Science, vol. 1145. Springer-Verlag, New York, 189--204."},{"key":"e_1_2_1_30_1","volume-title":"Proceedings of the European Symposium on Programming (ESOP). Lecture Notes in Computer Science","volume":"1381","author":"Fecht C.","unstructured":"Fecht , C. and Seidl , H . 1998. Propagating differences: An efficient new fixpoint algorithm for distributive constraint systems . In Proceedings of the European Symposium on Programming (ESOP). Lecture Notes in Computer Science , vol. 1381 . Springer-Verlag, New York, 90--104. Fecht, C. and Seidl, H. 1998. Propagating differences: An efficient new fixpoint algorithm for distributive constraint systems. In Proceedings of the European Symposium on Programming (ESOP). Lecture Notes in Computer Science, vol. 1381. Springer-Verlag, New York, 90--104."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/512529.512558"},{"key":"e_1_2_1_33_1","volume-title":"Technical Report CSD-97-964, University of California","author":"Foster J. S.","year":"1997","unstructured":"Foster , J. S. , F\u00e4hndrich , M. , and Aiken , A . 1997 . Flow-insensitive points-to analysis with term and set constraints. Technical Report CSD-97-964, University of California , Berkeley, CA . Foster, J. S., F\u00e4hndrich, M., and Aiken, A. 1997. Flow-insensitive points-to analysis with term and set constraints. Technical Report CSD-97-964, University of California, Berkeley, CA."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/301618.301665"},{"key":"e_1_2_1_35_1","volume-title":"Proceedings of the Static Analysis Symposium (SAS). Lecture Notes in Computer Science","volume":"1824","author":"Foster J. S.","unstructured":"Foster , J. S. , F\u00e4hndrich , M. , and Aiken , A . 2000. Polymorphic versus monomorphic flow-insensitive points-to analysis for C . In Proceedings of the Static Analysis Symposium (SAS). Lecture Notes in Computer Science , vol. 1824 . Springer-Verlag, New York, 175--198. Foster, J. S., F\u00e4hndrich, M., and Aiken, A. 2000. Polymorphic versus monomorphic flow-insensitive points-to analysis for C. In Proceedings of the Static Analysis Symposium (SAS). Lecture Notes in Computer Science, vol. 1824. Springer-Verlag, New York, 175--198."},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0020-0190(00)00051-X"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378806"},{"key":"e_1_2_1_38_1","series-title":"Lecture Notes in Computer Science","volume-title":"Proceedings of the Conference on Computer Aided Verification (CAV)","author":"Godefroid P.","unstructured":"Godefroid , P. 1997. VeriSoft: A tool for the automatic analysis of concurrent reactive software . In Proceedings of the Conference on Computer Aided Verification (CAV) . Lecture Notes in Computer Science , vol. 1254 . Springer-Verlag , New York , 476--479. Godefroid, P. 1997. VeriSoft: A tool for the automatic analysis of concurrent reactive software. In Proceedings of the Conference on Computer Aided Verification (CAV). Lecture Notes in Computer Science, vol. 1254. Springer-Verlag, New York, 476--479."},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0164-1212(02)00135-8"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/277650.277668"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/182409.182495"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/258915.258939"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.5555\/788019.788876"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378802"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378855"},{"key":"e_1_2_1_46_1","volume-title":"Proceedings of the Workshop on Model Checking Software. Lecture Notes in Computer Science","volume":"2648","author":"Henzinger T. A.","unstructured":"Henzinger , T. A. , Jhala , R. , Majumdar , R. , and Sutre , G . 2003. Software verification with Blast . In Proceedings of the Workshop on Model Checking Software. Lecture Notes in Computer Science , vol. 2648 . Springer-Verlag, New York, 235--239. Henzinger, T. A., Jhala, R., Majumdar, R., and Sutre, G. 2003. Software verification with Blast. In Proceedings of the Workshop on Model Checking Software. Lecture Notes in Computer Science, vol. 2648. Springer-Verlag, New York, 235--239."},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/379605.379665"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/325478.325519"},{"key":"e_1_2_1_49_1","volume-title":"Proceedings of the Static Analysis Symposium (SAS). Lecture Notes in Computer Science","volume":"1503","author":"Hind M.","unstructured":"Hind , M. and Pioli , A . 1998. Assessing the effects of flow-sensitivity on pointer alias analyses . In Proceedings of the Static Analysis Symposium (SAS). Lecture Notes in Computer Science , vol. 1503 . Springer-Verlag, New York, 57--81. Hind, M. and Pioli, A. 1998. Assessing the effects of flow-sensitivity on pointer alias analyses. In Proceedings of the Static Analysis Symposium (SAS). Lecture Notes in Computer Science, vol. 1503. Springer-Verlag, New York, 57--81."},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/347324.348916"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.588521"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.5555\/35590.35594"},{"key":"e_1_2_1_53_1","unstructured":"ISO90 1990. ISO\/IEC. international standard ISO\/IEC 9899 programming languages - C. ISO90 1990. ISO\/IEC. international standard ISO\/IEC 9899 programming languages - C."},{"key":"e_1_2_1_54_1","volume-title":"Proceedings of the USENIX Security Symposium. USENIX, 119--134","author":"Johnson R.","unstructured":"Johnson , R. and Wagner , D . 2004. Finding user\/kernel pointer bugs with type inference . In Proceedings of the USENIX Security Symposium. USENIX, 119--134 . Johnson, R. and Wagner, D. 2004. Finding user\/kernel pointer bugs with type inference. In Proceedings of the USENIX Security Symposium. USENIX, 119--134."},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/581339.581397"},{"key":"e_1_2_1_56_1","unstructured":"Jones N. D. and Muchnick S. S. 1981. Flow analysis and optimization of lisp-like structures. In Program Flow Analysis: Theory and Applications S. S. Muchnick and N. D. Jones Eds. Prentice-Hall Englewood Cliff 102--131. Jones N. D. and Muchnick S. S. 1981. Flow analysis and optimization of lisp-like structures. In Program Flow Analysis: Theory and Applications S. S. Muchnick and N. D. Jones Eds. Prentice-Hall Englewood Cliff 102--131."},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1007\/11547662_16"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/161494.161501"},{"key":"e_1_2_1_60_1","volume-title":"Proceedings of the Conference on Compiler Construction (CC). Lecture Notes in Computer Science","volume":"2622","author":"Lhotak O.","unstructured":"Lhotak , O. and Hendren , L. J . 2003. Scaling Java points-to analysis using SPARK . In Proceedings of the Conference on Compiler Construction (CC). Lecture Notes in Computer Science , vol. 2622 . Springer-Verlag, New York, 153--169. Lhotak, O. and Hendren, L. J. 2003. Scaling Java points-to analysis using SPARK. In Proceedings of the Conference on Compiler Construction (CC). Lecture Notes in Computer Science, vol. 2622. Springer-Verlag, New York, 153--169."},{"key":"e_1_2_1_61_1","volume-title":"Proceedings of the European Software Engineering Confrence (ESEC) and ACM Foundations of Software Engineering (FSE). Lecture Notes in Computer Science","volume":"1687","author":"Liang D.","unstructured":"Liang , D. and Harrold , M. J . 1999. Efficient points-to analysis for whole-program analysis . In Proceedings of the European Software Engineering Confrence (ESEC) and ACM Foundations of Software Engineering (FSE). Lecture Notes in Computer Science , vol. 1687 . Springer-Verlag\/ACM, New York, 199--215. Liang, D. and Harrold, M. J. 1999. Efficient points-to analysis for whole-program analysis. In Proceedings of the European Software Engineering Confrence (ESEC) and ACM Foundations of Software Engineering (FSE). Lecture Notes in Computer Science, vol. 1687. Springer-Verlag\/ACM, New York, 199--215."},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/379605.379676"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/181181.181265"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/258993.259006"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/566172.566174"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/22627.22349"},{"key":"e_1_2_1_67_1","doi-asserted-by":"crossref","unstructured":"Nielson F. Nielson H. R. and Hankin C. L. 1999. Principles of Program Analysis. Springer-Verlag New York. Nielson F. Nielson H. R. and Hankin C. L. 1999. Principles of Program Analysis. Springer-Verlag New York.","DOI":"10.1007\/978-3-662-03811-6"},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(94)90047-7"},{"key":"e_1_2_1_69_1","volume-title":"-M. W","author":"Nystrom E. M.","year":"2004","unstructured":"Nystrom , E. M. , Kim , H.-S. , and Hwu , W . -M. W . 2004 a. Bottom-up and top-down context-sensitive summary-based pointer analysis. In Proceedings of the Static Analysis Symposium (SAS). Lecture Notes in Computer Science, vol. 3148 . Springer-Verlag , New York, 165--180. Nystrom, E. M., Kim, H.-S., and Hwu, W.-M. W. 2004a. Bottom-up and top-down context-sensitive summary-based pointer analysis. In Proceedings of the Static Analysis Symposium (SAS). Lecture Notes in Computer Science, vol. 3148. Springer-Verlag, New York, 165--180."},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1145\/996821.996836"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1980.1675676"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1145\/7902.7904"},{"key":"e_1_2_1_74_1","volume-title":"Proceedings of the Workshop on Efficient and Experimental Algorithms (WEA). Lecture Notes in Computer Science","volume":"3059","author":"Pearce D. J.","unstructured":"Pearce , D. J. and Kelly , P. H. J. 2004. A dynamic algorithm for topologically sorting directed acyclic graphs . In Proceedings of the Workshop on Efficient and Experimental Algorithms (WEA). Lecture Notes in Computer Science , vol. 3059 . Springer-Verlag, New York, 383--398. Pearce, D. J. and Kelly, P. H. J. 2004. A dynamic algorithm for topologically sorting directed acyclic graphs. In Proceedings of the Workshop on Efficient and Experimental Algorithms (WEA). Lecture Notes in Computer Science, vol. 3059. Springer-Verlag, New York, 383--398."},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1145\/1187436.1210590"},{"key":"e_1_2_1_76_1","volume-title":"Proceedings of the IEEE Workshop on Source Code Analysis and Manipulation (SCAM). IEEE Computer Society Press","author":"Pearce D. J.","unstructured":"Pearce , D. J. , Kelly , P. H. J. , and Hankin , C . 2003. Online cycle detection and difference propagation for pointer analysis . In Proceedings of the IEEE Workshop on Source Code Analysis and Manipulation (SCAM). IEEE Computer Society Press , Los Alamitos, CA, 3--12. Pearce, D. J., Kelly, P. H. J., and Hankin, C. 2003. Online cycle detection and difference propagation for pointer analysis. In Proceedings of the IEEE Workshop on Source Code Analysis and Manipulation (SCAM). IEEE Computer Society Press, Los Alamitos, CA, 3--12."},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1145\/996821.996835"},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1023\/B:SQJO.0000039791.93071.a2"},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.1145\/186025.186041"},{"key":"e_1_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.5555\/857188.857643"},{"key":"e_1_2_1_81_1","volume-title":"Lecture Notes in Computer Science","volume":"1110","author":"Reps T.","unstructured":"Reps , T. and Turnidge , T . 1996. Program specialization via program slicing. In Selected Papers from the International Seminar on Partial Evaluation . Lecture Notes in Computer Science , vol. 1110 . Springer-Verlag, New York, 409--429. Reps, T. and Turnidge, T. 1996. Program specialization via program slicing. In Selected Papers from the International Seminar on Partial Evaluation. Lecture Notes in Computer Science, vol. 1110. Springer-Verlag, New York, 409--429."},{"key":"e_1_2_1_82_1","volume-title":"Proceedings of the Information Processing Congress (IFIP).","volume":"1","author":"Reynolds J. C.","year":"1969","unstructured":"Reynolds , J. C. 1969 . Automatic computation of data set definitions . In Proceedings of the Information Processing Congress (IFIP). Vol. 1 . North-Holland, Amsterdam, The Netherlands, 456--461. Reynolds, J. C. 1969. Automatic computation of data set definitions. In Proceedings of the Information Processing Congress (IFIP). Vol. 1. North-Holland, Amsterdam, The Netherlands, 456--461."},{"key":"e_1_2_1_83_1","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349310"},{"key":"e_1_2_1_84_1","doi-asserted-by":"publisher","DOI":"10.1145\/504282.504286"},{"key":"e_1_2_1_85_1","doi-asserted-by":"publisher","DOI":"10.1145\/1069774.1069785"},{"key":"e_1_2_1_87_1","doi-asserted-by":"publisher","DOI":"10.1145\/263699.263703"},{"key":"e_1_2_1_88_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(83)90038-8"},{"key":"e_1_2_1_89_1","doi-asserted-by":"publisher","DOI":"10.1145\/277830.277876"},{"key":"e_1_2_1_90_1","doi-asserted-by":"publisher","DOI":"10.1145\/1094811.1094817"},{"key":"e_1_2_1_91_1","doi-asserted-by":"publisher","DOI":"10.1145\/237721.237727"},{"key":"e_1_2_1_92_1","doi-asserted-by":"publisher","DOI":"10.1145\/325694.325706"},{"key":"e_1_2_1_93_1","volume-title":"The SUIF 2 research compiler Stanford University","unstructured":"SUIF2. The SUIF 2 research compiler Stanford University , Stanford, CA , http:\/\/suif.stanford.edu. SUIF2. The SUIF 2 research compiler Stanford University, Stanford, CA, http:\/\/suif.stanford.edu."},{"key":"e_1_2_1_94_1","volume-title":"Proceedings of the IEEE Conference on Software Maintenance and Reengineering (CSMR). IEEE Computer Society Press","author":"Systa T.","unstructured":"Systa , T. , Yu , P. , and M\u00fcller , H . 2000. Analyzing Java software by combining metrics and program visualization . In Proceedings of the IEEE Conference on Software Maintenance and Reengineering (CSMR). IEEE Computer Society Press , Los Alamitos, CA, 199--208. Systa, T., Yu, P., and M\u00fcller, H. 2000. Analyzing Java software by combining metrics and program visualization. In Proceedings of the IEEE Conference on Software Maintenance and Reengineering (CSMR). IEEE Computer Society Press, Los Alamitos, CA, 199--208."},{"key":"e_1_2_1_95_1","doi-asserted-by":"publisher","DOI":"10.1137\/0201010"},{"key":"e_1_2_1_96_1","series-title":"Lecture Notes in Computer Science","volume-title":"VIS: A system for verification and synthesis. In Proceedings of the Conference on Computer Aided Verification (CAV)","author":"The VIS Group","year":"1996","unstructured":"The VIS Group . 1996 . VIS: A system for verification and synthesis. In Proceedings of the Conference on Computer Aided Verification (CAV) . Lecture Notes in Computer Science , vol. 1102 . Springer-Verlag , New York , 428--432. The VIS Group. 1996. VIS: A system for verification and synthesis. In Proceedings of the Conference on Computer Aided Verification (CAV). Lecture Notes in Computer Science, vol. 1102. Springer-Verlag, New York, 428--432."},{"key":"e_1_2_1_97_1","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378804"},{"key":"e_1_2_1_98_1","volume-title":"Proceedings of the Network and Distributed System Security Symposium (NDSS). The Internet Society, 3--17","author":"Wagner D.","unstructured":"Wagner , D. , Foster , J. S. , Brewer , E. A. , and Aiken , A . 2000. A first step towards automated detection of buffer overrun vulnerabilities . In Proceedings of the Network and Distributed System Security Symposium (NDSS). The Internet Society, 3--17 . Wagner, D., Foster, J. S., Brewer, E. A., and Aiken, A. 2000. A first step towards automated detection of buffer overrun vulnerabilities. In Proceedings of the Network and Distributed System Security Symposium (NDSS). The Internet Society, 3--17."},{"key":"e_1_2_1_99_1","volume-title":"Proceedings of the Symposium on Static Analysis (SAS). Lecture Notes in Computer Science","volume":"2477","author":"Whaley J.","unstructured":"Whaley , J. and Lam , M. S . 2002. An efficient inclusion-based points-to analysis for strictly-typed languages . In Proceedings of the Symposium on Static Analysis (SAS). Lecture Notes in Computer Science , vol. 2477 . Springer-Verlag, New York, 180--195. Whaley, J. and Lam, M. S. 2002. An efficient inclusion-based points-to analysis for strictly-typed languages. In Proceedings of the Symposium on Static Analysis (SAS). Lecture Notes in Computer Science, vol. 2477. Springer-Verlag, New York, 180--195."},{"key":"e_1_2_1_100_1","doi-asserted-by":"publisher","DOI":"10.1145\/996841.996859"},{"key":"e_1_2_1_102_1","doi-asserted-by":"publisher","DOI":"10.1145\/207110.207111"},{"key":"e_1_2_1_104_1","doi-asserted-by":"publisher","DOI":"10.1145\/301618.301647"}],"container-title":["ACM Transactions on Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1290520.1290524","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T19:26:24Z","timestamp":1672255584000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1290520.1290524"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2007,11]]},"references-count":97,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2007,11]]}},"alternative-id":["10.1145\/1290520.1290524"],"URL":"https:\/\/doi.org\/10.1145\/1290520.1290524","relation":{},"ISSN":["0164-0925","1558-4593"],"issn-type":[{"value":"0164-0925","type":"print"},{"value":"1558-4593","type":"electronic"}],"subject":[],"published":{"date-parts":[[2007,11]]},"assertion":[{"value":"2007-11-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}