{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,9,29]],"date-time":"2025-09-29T08:13:55Z","timestamp":1759133635554,"version":"3.37.3"},"reference-count":46,"publisher":"Springer Science and Business Media LLC","issue":"9","license":[{"start":{"date-parts":[[2019,12,17]],"date-time":"2019-12-17T00:00:00Z","timestamp":1576540800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2019,12,17]],"date-time":"2019-12-17T00:00:00Z","timestamp":1576540800000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"funder":[{"DOI":"10.13039\/100010664","name":"H2020 Future and Emerging Technologies","doi-asserted-by":"publisher","award":["671623"],"award-info":[{"award-number":["671623"]}],"id":[{"id":"10.13039\/100010664","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100001871","name":"Funda\u00e7\u00e3o para a Ci\u00eancia e a Tecnologia","doi-asserted-by":"publisher","award":["SFRH\/BPD\/118211\/2016"],"award-info":[{"award-number":["SFRH\/BPD\/118211\/2016"]}],"id":[{"id":"10.13039\/501100001871","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["J Supercomput"],"published-print":{"date-parts":[[2020,9]]},"DOI":"10.1007\/s11227-019-03109-9","type":"journal-article","created":{"date-parts":[[2019,12,17]],"date-time":"2019-12-17T15:02:48Z","timestamp":1576594968000},"page":"6753-6785","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":11,"title":["Source-to-source compilation targeting OpenMP-based automatic parallelization of C applications"],"prefix":"10.1007","volume":"76","author":[{"given":"Hamid","family":"Arabnejad","sequence":"first","affiliation":[]},{"given":"Jo\u00e3o","family":"Bispo","sequence":"additional","affiliation":[]},{"given":"Jo\u00e3o M. P.","family":"Cardoso","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4135-2347","authenticated-orcid":false,"given":"Jorge G.","family":"Barbosa","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2019,12,17]]},"reference":[{"key":"3109_CR1","doi-asserted-by":"crossref","unstructured":"Acharya A, Bondhugula U, Cohen A (2018) Polyhedral auto-transformation with no integer linear programming. In: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation. ACM, pp 529\u2013542","DOI":"10.1145\/3192366.3192401"},{"key":"3109_CR2","unstructured":"Amini M, Creusillet B, Even S, Keryell R, Goubier O, Guelton S, McMahon J, Pasquier F, P\u00e9an G, Villalon P (2012) Par4all: from convex array regions to heterogeneous computing. In: IMPACT 2012: International Workshop on Polyhedral Compilation Techniques"},{"key":"3109_CR3","doi-asserted-by":"crossref","unstructured":"Arabnejad H, Bispo J, Barbosa JG, Cardoso JMP (2018) An openmp based parallelization compiler for c applications. In: 2018 IEEE International Conference on Parallel Distributed Processing with Applications (ISPA), pp 915\u2013923","DOI":"10.1109\/BDCloud.2018.00135"},{"key":"3109_CR4","doi-asserted-by":"crossref","unstructured":"Arabnejad H, Bispo J, Barbosa JG, Cardoso JMP (2018) Autopar-clava: an automatic parallelization source-to-source tool for c code applications. In: Proceedings of the 9th Workshop and 7th Workshop on Parallel Programming and RunTime Management Techniques for Manycore Architectures and Design Tools and Architectures for Multicore Embedded Computing Platforms. ACM, pp 13\u201319","DOI":"10.1145\/3183767.3183770"},{"key":"3109_CR5","doi-asserted-by":"crossref","unstructured":"Bae H, Mustafa D, Lee J-W, Lin H, Dave C, Eigenmann R, Midkiff SP (2013) The cetus source-to-source compiler infrastructure: overview and evaluation. International Journal of Parallel Programming, pp 1\u201315","DOI":"10.1007\/s10766-012-0211-z"},{"key":"3109_CR6","doi-asserted-by":"crossref","unstructured":"Bagn\u00e8res L, Zinenko O, Huot S, Bastoul C (2016) Opening polyhedral compiler\u2019s black box. In: Proceedings of the 2016 International Symposium on Code Generation and Optimization. ACM, pp 128\u2013138","DOI":"10.1145\/2854038.2854048"},{"key":"3109_CR7","volume-title":"Loop transformations for restructuring compilers: the foundations","author":"U Banerjee","year":"2007","unstructured":"Banerjee U (2007) Loop transformations for restructuring compilers: the foundations. Springer, Berlin"},{"key":"3109_CR8","unstructured":"Bastoul C, Cohen A, Girbal S, Sharma S, Temam O (2003) Putting polyhedral loop transformations to work. In: International Workshop on Languages and Compilers for Parallel Computing. Springer, pp 209\u2013225"},{"key":"3109_CR9","doi-asserted-by":"crossref","unstructured":"Bastoul C (2003) Efficient code generation for automatic parallelization and optimization. In: Proceedings of the Second International Conference on Parallel and Distributed Computing. IEEE Computer Society, pp 23\u201330","DOI":"10.1109\/ISPDC.2003.1267639"},{"issue":"12","key":"3109_CR10","doi-asserted-by":"publisher","first-page":"78","DOI":"10.1109\/2.546612","volume":"29","author":"W Blume","year":"1996","unstructured":"Blume W, Doallo R, Eigenmann R, Grout J, Hoeflinger J, Lawrence T (1996) Parallel programming with polaris. Computer 29(12):78\u201382","journal-title":"Computer"},{"key":"3109_CR11","doi-asserted-by":"crossref","unstructured":"Blume W, Eigenmann R (1994) The range test: a dependence test for symbolic, non-linear expressions. In: Supercomputing\u201994., Proceedings. IEEE, pp 528\u2013537","DOI":"10.1145\/602770.602858"},{"issue":"5","key":"3109_CR12","doi-asserted-by":"publisher","first-page":"1285","DOI":"10.1109\/TPDS.2016.2615094","volume":"28","author":"U Bondhugula","year":"2017","unstructured":"Bondhugula U, Bandishti V, Pananilath I (2017) Diamond tiling: tiling techniques to maximize parallelism for stencil computations. IEEE Trans Parallel Distrib Syst 28(5):1285\u20131298","journal-title":"IEEE Trans Parallel Distrib Syst"},{"key":"3109_CR13","doi-asserted-by":"crossref","unstructured":"Bondhugula U, Hartono A, Ramanujam J, Sadayappan P (2008) A practical automatic polyhedral parallelizer and locality optimizer. In: Proceedings of the 29th ACM SIGPLAN Conference on Programming Language Design and Implementation. ACM, pp 101\u2013113","DOI":"10.1145\/1375581.1375595"},{"issue":"2","key":"3109_CR14","doi-asserted-by":"publisher","first-page":"251","DOI":"10.1002\/spe.2301","volume":"46","author":"JMP Cardoso","year":"2016","unstructured":"Cardoso JMP, Coutinho JGF, Carvalho T, Diniz PC, Petrov Z, Luk W, Gon\u00e7alves F (2016) Performance-driven instrumentation and mapping strategies using the lara aspect-oriented programming approach. Softw Pract Exp 46(2):251\u2013287","journal-title":"Softw Pract Exp"},{"key":"3109_CR15","volume-title":"Parallel programming in OpenMP","author":"R Chandra","year":"2001","unstructured":"Chandra R (2001) Parallel programming in OpenMP. Morgan kaufmann, Burlington"},{"key":"3109_CR16","unstructured":"Clang Clang: a C language family frontend for LLVM. http:\/\/clang.llvm.org\/"},{"issue":"12","key":"3109_CR17","doi-asserted-by":"publisher","first-page":"36","DOI":"10.1109\/MC.2009.385","volume":"42","author":"C Dave","year":"2009","unstructured":"Dave C, Bae H, Min S, Lee S, Eigenmann R, Midkiff S (2009) Cetus: a source-to-source compiler infrastructure for multicores. Computer 42(12):36\u201342","journal-title":"Computer"},{"key":"3109_CR18","unstructured":"Intel. Intel C++ Compiler. https:\/\/software.intel.com\/en-us\/c-compilers\/"},{"key":"3109_CR19","unstructured":"Kelly W, Maslov V, Pugh W, Rosser E, Shpeisman T, Wonnacott D (1996) New user interface for petit and other extensions. User Guide. University of Maryland, pp 1\u201320"},{"issue":"6","key":"3109_CR20","doi-asserted-by":"publisher","first-page":"579","DOI":"10.1007\/BF03356760","volume":"24","author":"W Kelly","year":"1996","unstructured":"Kelly W, Pugh W, Rosser E, Shpeisman T (1996) Transitive closure of infinite graphs and its applications. Int J Parallel Program 24(6):579\u2013598","journal-title":"Int J Parallel Program"},{"key":"3109_CR21","unstructured":"Keryell R, Ancourt C, Coelho F, Eatrice B, Frann C, Irigoin F, Jouvelot P (1996) Pips: a workbench for building interprocedural parallelizers, compilers and optimizers. Technical report, \u00c9cole Nationale Sup\u00e9rieure des Mines de Paris, France., 04"},{"issue":"3","key":"3109_CR22","doi-asserted-by":"publisher","first-page":"387","DOI":"10.1016\/0167-8191(88)90057-9","volume":"7","author":"U Kremer","year":"1988","unstructured":"Kremer U, Bast H-J, Gerndt M, Zima HP (1988) Advanced tools and techniques for automatic parallelization. Parallel Comput 7(3):387\u2013393","journal-title":"Parallel Comput"},{"key":"3109_CR23","doi-asserted-by":"crossref","unstructured":"Larsen P, Ladelsky R, Lidman J, McKee SA, Karlsson S, Zaks A (2012) Parallelizing more loops with compiler guided refactoring. In: 41st International Conference on Parallel Processing (ICPP). IEEE, pp 410\u2013419","DOI":"10.1109\/ICPP.2012.48"},{"key":"3109_CR24","unstructured":"Lee S-I, Johnson T, Eigenmann R (2003) Cetus\u2014an extensible compiler infrastructure for source-to-source transformation. In: International Workshop on Languages and Compilers for Parallel Computing. Springer, pp 539\u2013553"},{"key":"3109_CR25","unstructured":"Liao C, Quinlan DJ, Willcock JJ, Panas T (2008) Automatic parallelization using openmp based on stl semantics. Technical report, Lawrence Livermore National Lab.(LLNL), Livermore, CA (United States)"},{"key":"3109_CR26","doi-asserted-by":"crossref","unstructured":"Maydan DE, Hennessy JL, Lam MS (1991) Efficient and exact data dependence analysis. In: ACM SIGPLAN \u201991 Conference on Programming Language Design and Implementation. ACM, pp 1\u201314","DOI":"10.1145\/113445.113447"},{"key":"3109_CR27","doi-asserted-by":"publisher","first-page":"275","DOI":"10.1016\/j.jocs.2018.01.001","volume":"26","author":"S Memeti","year":"2018","unstructured":"Memeti S, Pllana S (2018) Papa: a parallel programming assistant powered by IBM Watson cognitive computing technology. J Comput Sci 26:275\u2013284","journal-title":"J Comput Sci"},{"key":"3109_CR28","volume-title":"Advanced Compiler Design and Implementation","author":"SS Muchnick","year":"1997","unstructured":"Muchnick SS (1997) Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers Inc., San Francisco"},{"key":"3109_CR29","unstructured":"OpenCL. OpenCL. https:\/\/opencl.org"},{"key":"3109_CR30","unstructured":"OpenMP. OpenMP. http:\/\/www.openmp.org"},{"key":"3109_CR31","unstructured":"OpenMP Application Programming Interface, version 4.5. https:\/\/www.openmp.org\/wp-content\/uploads\/openmp-4.5.pdf"},{"key":"3109_CR32","doi-asserted-by":"crossref","unstructured":"Palkowski M, Bielecki W (2015) Traco parallelizing compiler. In: Soft Computing in Computer and Information Science. Springer, pp 409\u2013421","DOI":"10.1007\/978-3-319-15147-2_34"},{"issue":"6","key":"3109_CR33","first-page":"1277","volume":"35","author":"M Palkowski","year":"2017","unstructured":"Palkowski M, Bielecki W (2017) Traco: source-to-source parallelizing compiler. Comput Inform 35(6):1277\u20131306","journal-title":"Comput Inform"},{"key":"3109_CR34","first-page":"1","volume":"53","author":"P Pinto","year":"2018","unstructured":"Pinto P, Carvalho T, Bispo J, Ramalho MA, Cardoso JMP (2018) Aspect composition for multiple target languages using LARA. Comput Lang Syst Struct 53:1\u201326","journal-title":"Comput Lang Syst Struct"},{"key":"3109_CR35","unstructured":"The Portland Group. PGI Fortran & C. http:\/\/www.pgroup.com"},{"key":"3109_CR36","unstructured":"Pouchet L-N Polybench: the polyhedral benchmark suite. http:\/\/www.cs.ucla.edu\/pouchet\/software\/polybench. Accessed June 2019"},{"key":"3109_CR37","doi-asserted-by":"crossref","unstructured":"Pugh W (1991) The omega test: a fast and practical integer programming algorithm for dependence analysis. In: Proceedings of the 1991 ACM\/IEEE Conference on Supercomputing. ACM, pp 4\u201313","DOI":"10.1145\/125826.125848"},{"issue":"02n03","key":"3109_CR38","doi-asserted-by":"publisher","first-page":"215","DOI":"10.1142\/S0129626400000214","volume":"10","author":"D Quinlan","year":"2000","unstructured":"Quinlan D (2000) Rose: compiler support for object-oriented frameworks. Parallel Process Lett 10(02n03):215\u2013226","journal-title":"Parallel Process Lett"},{"key":"3109_CR39","unstructured":"Quinlan D, Liao C, Too J, Matzke RP, Schordan M Rose compiler infrastructure. http:\/\/rosecompiler.org\/"},{"key":"3109_CR40","unstructured":"Soundrarajan P, Nasre R, Jehadeesan R, Panigrahi BK A study on popular auto-parallelization frameworks. In: Concurrency and Computation: Practice and Experience, pp 1\u201328 (in press)"},{"issue":"1","key":"3109_CR41","doi-asserted-by":"publisher","first-page":"52","DOI":"10.1109\/2945.981851","volume":"8","author":"C Stolte","year":"2002","unstructured":"Stolte C, Tang D, Hanrahan P (2002) Polaris: a system for query, analysis, and visualization of multidimensional relational databases. IEEE Trans Vis Comput Graph 8(1):52\u201365","journal-title":"IEEE Trans Vis Comput Graph"},{"key":"3109_CR42","unstructured":"Top500. TOP500 supercomputer sites. http:\/\/www.top500.org"},{"key":"3109_CR43","doi-asserted-by":"crossref","unstructured":"Tu P, Padua D (2001) Automatic array privatization. In: Compiler Optimizations for Scalable Parallel Systems, pp 247\u2013281. Springer","DOI":"10.1007\/3-540-45403-9_8"},{"issue":"12","key":"3109_CR44","doi-asserted-by":"publisher","first-page":"31","DOI":"10.1145\/193209.193217","volume":"29","author":"RP Wilson","year":"1994","unstructured":"Wilson RP, French RS, Wilson CS, Amarasinghe SP, Anderson JM, Tjiang SWK, Liao S-W, Tseng C-W, Hall MW, Lam MS, Hennessy JL (1994) SUIF: an infrastructure for research on parallelizing and optimizing compilers. ACM Sigplan Notices 29(12):31\u201337","journal-title":"ACM Sigplan Notices"},{"key":"3109_CR45","volume-title":"Optimizing supercompilers for supercomputers","author":"M Wolfe","year":"1989","unstructured":"Wolfe M (1989) Optimizing supercompilers for supercomputers. The MIT Press, Cambridge"},{"key":"3109_CR46","volume-title":"High performance compilers for parallel computing","author":"MJ Wolfe","year":"1995","unstructured":"Wolfe MJ (1995) High performance compilers for parallel computing. Addison-Wesley Longman Publishing Co., Inc., Boston"}],"container-title":["The Journal of Supercomputing"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-019-03109-9.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s11227-019-03109-9\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-019-03109-9.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,12,16]],"date-time":"2020-12-16T00:23:31Z","timestamp":1608078211000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s11227-019-03109-9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,12,17]]},"references-count":46,"journal-issue":{"issue":"9","published-print":{"date-parts":[[2020,9]]}},"alternative-id":["3109"],"URL":"https:\/\/doi.org\/10.1007\/s11227-019-03109-9","relation":{},"ISSN":["0920-8542","1573-0484"],"issn-type":[{"type":"print","value":"0920-8542"},{"type":"electronic","value":"1573-0484"}],"subject":[],"published":{"date-parts":[[2019,12,17]]},"assertion":[{"value":"17 December 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}