{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2022,4,1]],"date-time":"2022-04-01T01:27:10Z","timestamp":1648776430264},"reference-count":49,"publisher":"Springer Science and Business Media LLC","issue":"3","license":[{"start":{"date-parts":[[2015,5,28]],"date-time":"2015-05-28T00:00:00Z","timestamp":1432771200000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2016,6]]},"DOI":"10.1007\/s10664-015-9385-5","type":"journal-article","created":{"date-parts":[[2015,5,27]],"date-time":"2015-05-27T01:23:56Z","timestamp":1432689836000},"page":"1272-1301","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":5,"title":["An empirical examination of the prevalence of inhibitors to the parallelizability of open source software systems"],"prefix":"10.1007","volume":"21","author":[{"given":"Saleh M.","family":"Alnaeli","sequence":"first","affiliation":[]},{"given":"Jonathan I.","family":"Maletic","sequence":"additional","affiliation":[]},{"given":"Michael L.","family":"Collard","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2015,5,28]]},"reference":[{"key":"9385_CR1","doi-asserted-by":"crossref","unstructured":"Alnaeli SM et al (2012). Empirically examining the parallelizability of open source software system. Proceedings of the 2012 19th Working Conference on Reverse Engineering","DOI":"10.1109\/WCRE.2012.47"},{"key":"9385_CR2","doi-asserted-by":"crossref","unstructured":"Alomari HW et al (2014) srcSlice: very efficient and scalable forward static slicing. J Softw: Evol Process: n\/a-n\/a","DOI":"10.1002\/smr.1651"},{"key":"9385_CR3","doi-asserted-by":"crossref","unstructured":"Bacon DF, Sweeney PF (1996). Fast static analysis of C++ virtual function calls. Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications. San Jose, California, USA, ACM: 324\u2013341","DOI":"10.1145\/236338.236371"},{"key":"9385_CR4","doi-asserted-by":"crossref","unstructured":"Banerjee UK (1988) Dependence analysis for supercomputing. Kluwer Academic Publishers","DOI":"10.1007\/978-1-4684-6894-6"},{"key":"9385_CR5","doi-asserted-by":"crossref","unstructured":"Banning JP (1979) An efficient way to find the side effects of procedure calls and the aliases of variables. Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages. San Antonio, Texas, ACM: 29\u201341","DOI":"10.1145\/567752.567756"},{"key":"9385_CR6","unstructured":"Barney B (2012) Introduction to parallel computing. from https:\/\/computing.llnl.gov\/tutorials\/parallel_comp\/#Models"},{"key":"9385_CR7","doi-asserted-by":"crossref","first-page":"579","DOI":"10.1002\/(SICI)1096-9128(199706)9:6<579::AID-CPE309>3.3.CO;2-7","volume":"9","author":"AJC Bik","year":"1997","unstructured":"Bik AJC, Gannon D (1997) Automatically exploiting implicit parallelism in Java. Concurr Pract Exp 9:579\u2013619","journal-title":"Concurr Pract Exp"},{"key":"9385_CR8","first-page":"12","volume":"17","author":"N Bliss","year":"2007","unstructured":"Bliss N (2007) Addressing the multicore trend with automatic parallelization. Lincoln Lab J 17:12","journal-title":"Lincoln Lab J"},{"key":"9385_CR9","doi-asserted-by":"crossref","unstructured":"Calder B, Grunwald D (1994). Reducing indirect function call overhead in C++ programs. Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages. Portland, Oregon, USA, ACM: 397\u2013408","DOI":"10.1145\/174675.177973"},{"key":"9385_CR10","doi-asserted-by":"crossref","unstructured":"Cheng B-C, Hwu W (2000) An empirical study of function pointers using SPEC Benchmarks. Proceedings of the 12th International Workshop on Languages and Compilers for Parallel Computing, Springer-Verlag: 490\u2013493","DOI":"10.1007\/3-540-44905-1_38"},{"key":"9385_CR11","doi-asserted-by":"crossref","unstructured":"Collard ML et al (2011) Lightweight transformation and fact extraction with the srcML toolkit. Source Code Analysis and Manipulation (SCAM). Williamsburg, VA, USA: 10","DOI":"10.1109\/SCAM.2011.19"},{"key":"9385_CR12","doi-asserted-by":"crossref","unstructured":"Collard ML et al (2003) An XML-based lightweight C++ Fact Extractor. Proceedings of the 11th IEEE International Workshop on Program Comprehension, IEEE Computer Society: 134","DOI":"10.1109\/WPC.2003.1199197"},{"key":"9385_CR13","doi-asserted-by":"crossref","unstructured":"Collard ML et al (2002) Supporting document and data views of source code. In Proceedings of ACM Symposium on Document Engineering: 8","DOI":"10.1145\/585058.585066"},{"key":"9385_CR14","doi-asserted-by":"crossref","unstructured":"Dean J et al (1995) Optimization of object-oriented programs using static class hierarchy analysis. Proceedings of the 9th European Conference on Object-Oriented Programming, Springer-Verlag: 77\u2013101","DOI":"10.1007\/3-540-49538-X_5"},{"key":"9385_CR15","doi-asserted-by":"crossref","unstructured":"Dig D et al (2009). Relooper: refactoring for loop parallelism in Java. Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications. Orlando, Florida, USA, ACM: 793\u2013794","DOI":"10.1145\/1639950.1640018"},{"key":"9385_CR16","unstructured":"Dijkstra E (1979) Go to statement considered harmful. Classics in software engineering, Yourdon Press: 27\u201333"},{"key":"9385_CR17","doi-asserted-by":"crossref","unstructured":"Dragan N et al (2009). Using method stereotype distribution as a signature descriptor for software systems. in the Proceedings of the IEEE International Conference on Software Maintenance (ICSM\u201909)","DOI":"10.1109\/ICSM.2009.5306394"},{"key":"9385_CR18","doi-asserted-by":"crossref","unstructured":"Dragan N et al (2010) Automatic identification of class stereotypes. Proceedings of the 2010 I.E. International Conference on Software Maintenance, IEEE Computer Society: 1\u201310","DOI":"10.1109\/ICSM.2010.5609703"},{"issue":"6","key":"9385_CR19","doi-asserted-by":"crossref","first-page":"242","DOI":"10.1145\/773473.178264","volume":"29","author":"M Emami","year":"1994","unstructured":"Emami M, Ghiya R, Hendren LJ (1994) Context-sensitive interprocedural points-to analysis in the presence of function pointers. SIGPLAN Not 29(6):242\u2013256","journal-title":"SIGPLAN Not"},{"key":"9385_CR20","unstructured":"Feng L (2009) Automatic parallelization in Graphite. from http:\/\/gcc.gnu.org\/wiki\/Graphite\/Parallelization"},{"key":"9385_CR21","unstructured":"Ghezzi C, Jazayeri M (1982) Programming language concepts, Wiley"},{"issue":"6","key":"9385_CR22","doi-asserted-by":"crossref","first-page":"15","DOI":"10.1145\/113446.113448","volume":"26","author":"G Goff","year":"1991","unstructured":"Goff G, Kennedy K, Tseng C-W (1991) Practical dependence testing. SIGPLAN Not 26(6):15\u201329","journal-title":"SIGPLAN Not"},{"key":"9385_CR23","unstructured":"Group TP (2012) Parallel Fortran, C and C++ Compilers , from http:\/\/www.pgroup.com\/products\/pgicdk.htm"},{"key":"9385_CR24","doi-asserted-by":"crossref","unstructured":"Grove D et al (1997) Call graph construction in object-oriented languages. Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications. Atlanta, Georgia, USA, ACM: 108\u2013124","DOI":"10.1145\/263698.264352"},{"key":"9385_CR25","unstructured":"Intel (2010) Automatic parallelization with Intel\u00ae compilers. From http:\/\/software.intel.com\/en-us\/articles\/automatic-parallelization-with-intel-compilers\/"},{"key":"9385_CR26","volume-title":"Computer architecture: a quantitative approach","author":"JL Hennessy","year":"2006","unstructured":"Hennessy JL, Patterson DA (2006) Computer architecture: a quantitative approach. Morgan Kaufman Publishers, San Francisco"},{"key":"9385_CR27","unstructured":"Jacobson T, Stubbendieck G (2003). Dependency analysis of for-loop structures for automatic parallelization of C code"},{"key":"9385_CR28","unstructured":"Kennedy K, Allen JR (2002) Optimizing compilers for modern architectures: a dependence-based approach. Morgan Kaufmann Publishers Inc"},{"key":"9385_CR29","unstructured":"Kim M, Kim H, Luk C-K (2010) Prospector: a dynamic data-dependence profiler to help parallel programming. In 2nd USENIX Workshop on Hot Topics in Parallelism , HotPar \u201810"},{"key":"9385_CR30","doi-asserted-by":"crossref","first-page":"342","DOI":"10.1109\/71.86109","volume":"2","author":"X Kong","year":"1991","unstructured":"Kong X, Klappholz D, Psarris K (1991) The I test: an improved dependence test for automatic parallelization and vectorization. IEEE Trans Parallel Distrib Syst 2:342\u2013349","journal-title":"IEEE Trans Parallel Distrib Syst"},{"key":"9385_CR31","unstructured":"Kulkarni D et al (1993) Loop and data transformations: a tutorial. University of Toronto"},{"key":"9385_CR32","doi-asserted-by":"crossref","unstructured":"Maydan DE et al (1991) Efficient and exact data dependence analysis. Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation. Toronto, Ontario, Canada, ACM: 1\u201314","DOI":"10.1145\/113445.113447"},{"issue":"8","key":"9385_CR33","doi-asserted-by":"crossref","first-page":"657","DOI":"10.1109\/TSE.2005.94","volume":"31","author":"M Mock","year":"2005","unstructured":"Mock M, Atkinson DC, Chambers C, Eggers SJ (2005) program slicing with dynamic points-to sets. IEEE Trans Softw Eng 31(8):657\u2013678","journal-title":"IEEE Trans Softw Eng"},{"key":"9385_CR34","doi-asserted-by":"crossref","unstructured":"Muth R, Debray SK (1997) On the complexity of function pointer may-alias analysis. Proceedings of the 7th International Joint Conference CAAP\/FASE on Theory and Practice of Software Development, Springer-Verlag: 381\u2013392","DOI":"10.1007\/BFb0030612"},{"key":"9385_CR35","unstructured":"Nadgir N (2001) Using OpenMP to parallelize a program. From http:\/\/developers.sun.com\/solaris\/articles\/openmp.html"},{"key":"9385_CR36","doi-asserted-by":"crossref","unstructured":"Nikolopoulos DS et al (2001) The trade-off between implicit and explicit data distribution in shared-memory programming paradigms. Proceedings of the 15th international conference on Supercomputing (ICS \u201901). Sorrento, Italy, ACM: 15","DOI":"10.1145\/377792.377801"},{"key":"9385_CR37","unstructured":"Novillo D (2006) OpenMP and automatic parallelization in GCC. Proceedings of the GCC Developers\u2019 Summit conference. Ottawa, Canada"},{"key":"9385_CR38","unstructured":"Oracle (2010) Subprogram call in a Loop. From http:\/\/docs.oracle.com\/cd\/E19205-01\/819-5262\/aeuje\/index.html"},{"issue":"2","key":"9385_CR39","doi-asserted-by":"crossref","first-page":"199","DOI":"10.1145\/1018210.1018212","volume":"13","author":"A Orso","year":"2004","unstructured":"Orso A, Sinha S, Harrold MJ (2004) Classifying data dependences in the presence of pointers for program comprehension, testing, and debugging. ACM Trans Softw Eng Methodol 13(2):199\u2013239","journal-title":"ACM Trans Softw Eng Methodol"},{"key":"9385_CR40","doi-asserted-by":"crossref","unstructured":"Petersen PM, Padua DA (1993) Static and dynamic evaluation of data dependence analysis. Proceedings of the 7th international conference on Supercomputing. Tokyo, Japan, ACM: 107\u2013116","DOI":"10.1145\/165939.165961"},{"issue":"11","key":"9385_CR41","doi-asserted-by":"crossref","first-page":"1121","DOI":"10.1109\/71.544354","volume":"7","author":"PM Petersen","year":"1996","unstructured":"Petersen PM, Padua DA (1996) Static and dynamic evaluation of data dependence analysis techniques. IEEE Trans Parallel Distrib Syst 7(11):1121\u20131132","journal-title":"IEEE Trans Parallel Distrib Syst"},{"key":"9385_CR42","unstructured":"Petersen PM, Padua DA (1991) Experimental evaluation of some data dependence tests Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, Urbana, Illinois, 61801"},{"key":"9385_CR43","doi-asserted-by":"crossref","unstructured":"Psarris K, Kyriakopoulos K (1999) Data dependence testing in practice. Proceedings of the 1999 International Conference on Parallel Architectures and Compilation Techniques, IEEE Computer Society: 264","DOI":"10.1109\/PACT.1999.807571"},{"key":"9385_CR44","doi-asserted-by":"crossref","unstructured":"Pugh W (1991) The Omega test: a fast and practical integer programming algorithm for dependence analysis. Proceedings of the 1991 ACM\/IEEE conference on Supercomputing. Albuquerque, New Mexico, United States, ACM: 4\u201313","DOI":"10.1145\/125826.125848"},{"key":"9385_CR45","doi-asserted-by":"crossref","first-page":"31","DOI":"10.1145\/193209.193217","volume":"29","author":"RSFRP Wilson","year":"1994","unstructured":"Wilson RSFRP, Wilson CS, Amarasinghe SP, Anderson JM, Tjiang SWK, Shih-wei L, Chau-wen T, Hall MW, Lam MS, Hennessy JL (1994) SUIF: an Infrastructure for research on parallelizing and optimizing compilers. ACM SIGPLAN Not 29:31\u201337","journal-title":"ACM SIGPLAN Not"},{"key":"9385_CR46","unstructured":"Shah Anand RBG (1995) Function pointers in C - an empirical study. Technical Report LCSR-TR-244: 11"},{"key":"9385_CR47","unstructured":"Spuler DA, Sajeev ASM (1994) Compiler detection of function call side effects Technical Report 94\/01"},{"key":"9385_CR48","doi-asserted-by":"crossref","unstructured":"Sundaresan V et al (2000). Practical virtual method call resolution for Java. Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications. Minneapolis, Minnesota, USA, ACM: 264\u2013280","DOI":"10.1145\/353171.353189"},{"key":"9385_CR49","unstructured":"Zhang S, Ryder BG (1994). Complexity of single level function pointer aliasing analysis, Rutgers University, Department of Computer Science, Laboratory for Computer Science Research"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-015-9385-5.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10664-015-9385-5\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-015-9385-5","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,8,25]],"date-time":"2019-08-25T12:27:43Z","timestamp":1566736063000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10664-015-9385-5"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2015,5,28]]},"references-count":49,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2016,6]]}},"alternative-id":["9385"],"URL":"https:\/\/doi.org\/10.1007\/s10664-015-9385-5","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2015,5,28]]}}}