{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,26]],"date-time":"2025-10-26T20:36:07Z","timestamp":1761510967981},"reference-count":52,"publisher":"Springer Science and Business Media LLC","issue":"3","license":[{"start":{"date-parts":[[2012,9,12]],"date-time":"2012-09-12T00:00:00Z","timestamp":1347408000000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J Supercomput"],"published-print":{"date-parts":[[2012,12]]},"DOI":"10.1007\/s11227-012-0821-7","type":"journal-article","created":{"date-parts":[[2012,9,11]],"date-time":"2012-09-11T09:18:26Z","timestamp":1347355106000},"page":"1560-1582","source":"Crossref","is-referenced-by-count":2,"title":["PPModel: a modeling tool for source code maintenance and optimization of parallel programs"],"prefix":"10.1007","volume":"62","author":[{"given":"Ferosh","family":"Jacob","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jeff","family":"Gray","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jeffrey C.","family":"Carver","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Marjan","family":"Mernik","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Purushotham","family":"Bangalore","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2012,9,12]]},"reference":[{"key":"821_CR1","first-page":"233","volume-title":"Proceedings of the symposium on compiler construction","author":"R Allen","year":"1984","unstructured":"Allen R, Kennedy K (1984) Automatic loop interchange. In: Proceedings of the symposium on compiler construction, Montreal, Canada, pp 233\u2013246"},{"issue":"13","key":"821_CR2","doi-asserted-by":"crossref","first-page":"755","DOI":"10.1016\/S0950-5849(02)00123-4","volume":"44","author":"G Antoniol","year":"2002","unstructured":"Antoniol G, Villano U, Merlo E, Penta M (2002) Analyzing cloning evolution in the Linux kernel. Inf Softw Technol 44(13):755\u2013765","journal-title":"Inf Softw Technol"},{"issue":"4","key":"821_CR3","doi-asserted-by":"crossref","first-page":"29","DOI":"10.1109\/52.31650","volume":"6","author":"WF Appelbe","year":"1989","unstructured":"Appelbe WF, Smith K, McDowell CE (1989) Start\/Pat: A\u00a0parallel-programming toolkit. IEEE Softw 6(4):29\u201338","journal-title":"IEEE Softw"},{"issue":"2","key":"821_CR4","doi-asserted-by":"crossref","first-page":"1079","DOI":"10.1007\/s11227-010-0490-3","volume":"59","author":"R Arora","year":"2012","unstructured":"Arora R, Bangalore P, Mernik M (2012) Raising the level of abstraction for developing message passing applications. J Supercomput 59(2):1079\u20131100","journal-title":"J Supercomput"},{"key":"821_CR5","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/335231.335232","volume-title":"Proceedings of the international conference on supercomputing","author":"PV Artigas","year":"2000","unstructured":"Artigas PV, Gupta M, Midkiff SP, Moreira JE (2000) Automatic loop transformations and parallelization for Java. In: Proceedings of the international conference on supercomputing, Santa Fe, NM, pp 1\u201310"},{"issue":"5","key":"821_CR6","doi-asserted-by":"crossref","first-page":"36","DOI":"10.1109\/MS.2003.1231149","volume":"20","author":"C Atkinson","year":"2003","unstructured":"Atkinson C, Kuhne T (2003) Model-driven development: a\u00a0metamodeling foundation. IEEE Softw 20(5):36\u201341","journal-title":"IEEE Softw"},{"key":"821_CR7","first-page":"189","volume-title":"Proceedings of the international conference on supercomputing","author":"A Basumallik","year":"2005","unstructured":"Basumallik A, Eigenmann R (2005) Towards automatic translation of OpenMP to MPI. In: Proceedings of the international conference on supercomputing, Cambridge, MA, pp 189\u2013198"},{"key":"821_CR8","first-page":"1","volume-title":"Proceedings of the international parallel and distributed processing symposium","author":"J Breitbart","year":"2009","unstructured":"Breitbart J (2009) CuPP\u2014a framework for easy CUDA integration. In: Proceedings of the international parallel and distributed processing symposium, Rome, Italy, pp 1\u20138"},{"key":"821_CR9","first-page":"70","volume-title":"Proceedings of the international conference on mathematical methods for curves and surfaces","author":"AR Brodtkorb","year":"2008","unstructured":"Brodtkorb AR, Hagen TR (2008) A comparison of three commodity-level parallel architectures: multi-core cpu, cell be and gpu. In: Proceedings of the international conference on mathematical methods for curves and surfaces, T\u00f8nsberg, Norway, pp 70\u201380"},{"issue":"4","key":"821_CR10","doi-asserted-by":"crossref","first-page":"10","DOI":"10.1109\/52.31648","volume":"6","author":"J Browne","year":"1989","unstructured":"Browne J, Azam M, Sobek S (1989) CODE: a\u00a0unified approach to parallel programming. IEEE Softw 6(4):10\u201318","journal-title":"IEEE Softw"},{"issue":"4","key":"821_CR11","doi-asserted-by":"crossref","first-page":"30","DOI":"10.1109\/MS.2009.93","volume":"26","author":"MJ Buenda","year":"2009","unstructured":"Buenda MJ, Rosique F, S\u00e1nchez P, lvarez B, Iborra A (2009) Habitation: a domain-specific language for home automation. IEEE Softw 26(4):30\u201338","journal-title":"IEEE Softw"},{"issue":"4","key":"821_CR12","doi-asserted-by":"crossref","first-page":"1","DOI":"10.4018\/joeuc.2011100101","volume":"23","author":"J Carver","year":"2011","unstructured":"Carver J (2011) Development of a mesh generation code with a graphical front-end: a\u00a0case study. J\u00a0Organ End-User Comput 23(4):1\u201316","journal-title":"J\u00a0Organ End-User Comput"},{"key":"821_CR13","first-page":"550","volume-title":"Proceeding of the international conference on software engineering","author":"J Carver","year":"2007","unstructured":"Carver J, Kendall R, Squires S, Post D (2007) Software development environments for scientific and engineering software: a series of case studies. In: Proceeding of the international conference on software engineering, Minneapolis, MN, pp 550\u2013559"},{"key":"821_CR14","volume-title":"Parallel programming in OpenMP","author":"R Chandra","year":"2001","unstructured":"Chandra R, Dagum L, Kohr D, Maydan D, McDonald J, Menon R (2001) Parallel programming in OpenMP. Morgan Kaufmann, San Mateo"},{"issue":"1","key":"821_CR15","doi-asserted-by":"crossref","first-page":"107","DOI":"10.1145\/1327452.1327492","volume":"51","author":"J Dean","year":"2008","unstructured":"Dean J, Ghemawat S (2008) Mapreduce: Simplified data processing on large clusters. Commun ACM 51(1):107\u2013113","journal-title":"Commun ACM"},{"key":"821_CR16","doi-asserted-by":"crossref","first-page":"145","DOI":"10.1109\/PCEE.2002.1115225","volume-title":"Proceedings of the international conference on parallel computing in electrical engineering","author":"F Devin","year":"2002","unstructured":"Devin F, Boulet P, Dekeyser JL, Marquet P (2002) GASPARD: a\u00a0visual parallel programming environment. In: Proceedings of the international conference on parallel computing in electrical engineering, Warsaw, Poland, p 145"},{"issue":"1","key":"821_CR17","doi-asserted-by":"crossref","first-page":"37","DOI":"10.1109\/4434.824311","volume":"8","author":"B Di Martino","year":"2000","unstructured":"Di Martino B, Ke\u00dfler CW (2000) Two program comprehension tools for automatic parallelization. IEEE Concurr 8(1):37\u201347","journal-title":"IEEE Concurr"},{"key":"821_CR18","first-page":"397","volume-title":"Proceedings of the international conference on software engineering","author":"D Dig","year":"2009","unstructured":"Dig D, Marrero J, Ernst MD (2009) Refactoring sequential Java code for concurrency via concurrent libraries. In: Proceedings of the international conference on software engineering, Vancouver, Canada, pp 397\u2013407"},{"key":"821_CR19","first-page":"241","volume-title":"Proceedings of the international workshop vision, modeling, and visualization","author":"N Fritz","year":"2004","unstructured":"Fritz N, Lucas P, Slusallek P (2004) CGiS, a new language for data-parallel gpu programming. In: Proceedings of the international workshop vision, modeling, and visualization, Stanford, CA, pp 241\u2013248"},{"key":"821_CR20","doi-asserted-by":"crossref","first-page":"6","DOI":"10.1145\/512035.512039","volume-title":"Proceedings of the international workshop on principles of software evolution","author":"A Garrido","year":"2002","unstructured":"Garrido A, Johnson R (2002) Challenges of refactoring C programs. In: Proceedings of the international workshop on principles of software evolution, Orlando, FL, pp 6\u201314"},{"key":"821_CR21","volume-title":"Domain-specific modelling: handbook of dynamic system modeling","author":"J Gray","year":"2007","unstructured":"Gray J, Tolvanen JP, Kelly S, Gokhale A, Neema S, Sprinkle J (2007) Domain-specific modelling: handbook of dynamic system modeling. CRC Press, Boca Raton"},{"key":"821_CR22","doi-asserted-by":"crossref","first-page":"52","DOI":"10.1145\/1513895.1513902","volume-title":"Proceedings of the workshop on general purpose processing on graphics processing units","author":"TD Han","year":"2009","unstructured":"Han TD, Abdelrahman TS (2009) hiCUDA: A high-level directive-based language for GPU programming. In: Proceedings of the workshop on general purpose processing on graphics processing units, Washington, DC, pp 52\u201361"},{"key":"821_CR23","doi-asserted-by":"crossref","first-page":"16","DOI":"10.1145\/1328279.1328283","volume-title":"Proceedings of the OOPSLA workshop on eclipse technology eXchange","author":"P Jablonski","year":"2007","unstructured":"Jablonski P, Hou D (2007) CReN: A tool for tracking copy-and-paste code clones and renaming identifiers consistently in the ide. In: Proceedings of the OOPSLA workshop on eclipse technology eXchange, Montreal, Canada, pp 16\u201320"},{"key":"821_CR24","first-page":"339","volume-title":"Proceedings of the international conference on parallel and distributed processing techniques and applications","author":"F Jacob","year":"2010","unstructured":"Jacob F, Arora R, Bangalore P, Mernik M, Gray J (2010) Raising the level of abstraction of gpu-programming. In: Proceedings of the international conference on parallel and distributed processing techniques and applications, Las Vegas, NV, pp 339\u2013345"},{"key":"821_CR25","doi-asserted-by":"crossref","first-page":"138","DOI":"10.1145\/2016039.2016079","volume-title":"Proceedings of the ACM southeast regional conference","author":"F Jacob","year":"2011","unstructured":"Jacob F, Sun Y, Gray J, Bangalore P (2011) A platform-independent tool for modeling parallel programs. In: Proceedings of the ACM southeast regional conference, Kennesaw, GA, pp 138\u2013143"},{"issue":"2","key":"821_CR26","first-page":"123","volume":"2","author":"F Jacob","year":"2011","unstructured":"Jacob F, Wagner A, Bahri P, Vrbsky S, Gray J (2011) Simplifying the development and deployment of MapReduce algorithms. J Next-Gener Comput 2(2):123\u2013142","journal-title":"J Next-Gener Comput"},{"key":"821_CR27","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1109\/HIPC.2010.5713193","volume-title":"Proceedings of the international conference of high performance computing","author":"F Jacob","year":"2010","unstructured":"Jacob F, Whittaker D, Thapaliya S, Bangalore P, Mernik M, Gray J (2010) CUDACL: a tool for CUDA and OpenCL programmers. In: Proceedings of the international conference of high performance computing, Goa, India, pp 1\u201311"},{"key":"821_CR28","first-page":"4","volume-title":"Proceedings of the workshop on domain-specific program development","author":"F Jouault","year":"2006","unstructured":"Jouault F, B\u00e9zivin J, Consel C, Kurtev I, Latry F (2006) Building DSLs with AMMA\/ATL, a case study on SPL and CPL telephony languages. In: Proceedings of the workshop on domain-specific program development, Nantes, France, p 4"},{"issue":"7","key":"821_CR29","doi-asserted-by":"crossref","first-page":"654","DOI":"10.1109\/TSE.2002.1019480","volume":"28","author":"T Kamiya","year":"2002","unstructured":"Kamiya T, Kusumoto S, Inoue K (2002) CCFinder: a multilinguistic token-based code clone detection system for large scale source code. IEEE Trans Softw Eng 28(7):654\u2013670","journal-title":"IEEE Trans Softw Eng"},{"issue":"6","key":"821_CR30","doi-asserted-by":"crossref","first-page":"119","DOI":"10.1109\/MS.2007.155","volume":"24","author":"DF Kelly","year":"2007","unstructured":"Kelly DF (2007) A Software chasm: software engineering and scientific computing. IEEE Softw 24(6):119\u2013120","journal-title":"IEEE Softw"},{"issue":"4","key":"821_CR31","doi-asserted-by":"crossref","first-page":"59","DOI":"10.1109\/MS.2008.86","volume":"25","author":"R Kendall","year":"2008","unstructured":"Kendall R, Carver J, Fisher D, Henderson D, Mark A, Post D, Rhoades C, Squires S (2008) Development of a weather forecasting code: a\u00a0case study. IEEE Softw 25(4):59\u201365","journal-title":"IEEE Softw"},{"key":"821_CR32","doi-asserted-by":"crossref","first-page":"76","DOI":"10.1109\/EMPDP.1995.389152","volume-title":"Proceedings of the workshop on parallel and distributed processing","author":"CW Kessler","year":"1995","unstructured":"Kessler CW (1995) Pattern-driven automatic program transformation and parallelization. In: Proceedings of the workshop on parallel and distributed processing, San Remo, Italy, p 76"},{"issue":"11","key":"821_CR33","doi-asserted-by":"crossref","first-page":"44","DOI":"10.1109\/2.963443","volume":"34","author":"A L\u00e9deczi","year":"2001","unstructured":"L\u00e9deczi A, Bakay A, Mar\u00f3ti M, V\u00f6lgyesi P, Nordstrom G, Sprinkle J, Karsai G (2001) Composing domain-specific design environments. Computer 34(11):44\u201351","journal-title":"Computer"},{"key":"821_CR34","first-page":"101","volume-title":"Proceedings of the international symposium on principles and practice of parallel programming","author":"S Lee","year":"2009","unstructured":"Lee S, Min SJ, Eigenmann R (2009) OpenMP to GPGPU: a compiler framework for automatic translation and optimization. In: Proceedings of the international symposium on principles and practice of parallel programming, Raleigh, NC, pp 101\u2013110"},{"key":"821_CR35","doi-asserted-by":"crossref","first-page":"164","DOI":"10.1109\/WPC.1996.501131","volume-title":"Proceedings of the international workshop on program comprehension","author":"BD Martino","year":"1996","unstructured":"Martino BD, Iannello G (1996) PAP recognizer: a tool for automatic recognition of parallelizable patterns. In: Proceedings of the international workshop on program comprehension, Berlin, Germany, p 164"},{"issue":"4","key":"821_CR36","doi-asserted-by":"crossref","first-page":"54","DOI":"10.1109\/MS.2009.84","volume":"26","author":"JL Mathe","year":"2009","unstructured":"Mathe JL, Martin J, Miller P, L\u00e9deczi A, Weavind L, Nadas A, Miller A, Maron D, Sztipanovits J (2009) A model integrated guideline-driven, clinical decision-support system. IEEE Softw 26(4):54\u201361","journal-title":"IEEE Softw"},{"issue":"4","key":"821_CR37","doi-asserted-by":"crossref","first-page":"316","DOI":"10.1145\/1118890.1118892","volume":"37","author":"M Mernik","year":"2005","unstructured":"Mernik M, Heering J, Sloane AM (2005) When and how to develop domain-specific languages. ACM Comput Surv 37(4):316\u2013344","journal-title":"ACM Comput Surv"},{"key":"821_CR38","volume-title":"Object-oriented software construction","author":"B Meyer","year":"1988","unstructured":"Meyer B (1988) Object-oriented software construction. Prentice-Hall, New York"},{"issue":"1","key":"821_CR39","doi-asserted-by":"crossref","first-page":"80","DOI":"10.1111\/j.1467-8659.2007.01012.x","volume":"26","author":"JD Owens","year":"2007","unstructured":"Owens JD, Luebke D, Govindaraju N, Harris M, Kr\u00fcger J, Lefohn AE, Purcell TJ (2007) A survey of general-purpose computation on graphics hardware. Comput Graph Forum 26(1):80\u2013113","journal-title":"Comput Graph Forum"},{"key":"821_CR40","first-page":"224","volume-title":"Proceedings of the international conference on world wide web","author":"TJ Parr","year":"2004","unstructured":"Parr TJ (2004) Enforcing strict model-view separation in template engines. In: Proceedings of the international conference on world wide web, New York, NY, pp 224\u2013233"},{"issue":"4","key":"821_CR41","doi-asserted-by":"crossref","first-page":"23","DOI":"10.1145\/1964218.1964223","volume":"38","author":"SJ Pennycook","year":"2011","unstructured":"Pennycook SJ, Hammond SD, Jarvis SA, Mudalige GR (2011) Performance analysis of a hybrid MPI\/CUDA implementation of the NASLU benchmark. ACM SIGMETRICS Perform Eval Rev 38(4):23\u201329","journal-title":"ACM SIGMETRICS Perform Eval Rev"},{"issue":"4","key":"821_CR42","first-page":"277","volume":"13","author":"R Pike","year":"2005","unstructured":"Pike R, Dorward S, Griesemer R, Quinlan S (2005) Interpreting the data: parallel analysis with Sawzall. Sci Program 13(4):277\u2013298","journal-title":"Sci Program"},{"key":"821_CR43","unstructured":"tPPModel Project\u00a0Site (2011) http:\/\/sites.google.com\/site\/tppmodel . [Online]"},{"issue":"5","key":"821_CR44","doi-asserted-by":"crossref","first-page":"273","DOI":"10.1016\/j.advengsoft.2010.10.008","volume":"42","author":"PS Raki\u0107","year":"2011","unstructured":"Raki\u0107 PS, Mila\u0161inovi\u0107 DD, \u017divanov \u017d., Suvajd\u017ein Z, Nikoli\u0107 M, Hajdukovi\u0107 M (2011) MPI-CUDA parallelization of a finite-strip program for geometric nonlinear analysis: a\u00a0hybrid approach. Adv Eng Softw 42(5):273\u2013285","journal-title":"Adv Eng Softw"},{"issue":"4","key":"821_CR45","doi-asserted-by":"crossref","first-page":"18","DOI":"10.1109\/MS.2008.85","volume":"25","author":"R Sanders","year":"2008","unstructured":"Sanders R, Kelly D (2008) Dealing with risk in scientific software development. IEEE Softw 25(4):18\u201320","journal-title":"IEEE Softw"},{"issue":"2","key":"821_CR46","doi-asserted-by":"crossref","first-page":"25","DOI":"10.1109\/MC.2006.58","volume":"39","author":"D Schmidt","year":"2006","unstructured":"Schmidt D (2006) Model-driven engineering. Computer 39(2):25\u201332","journal-title":"Computer"},{"key":"821_CR47","doi-asserted-by":"crossref","first-page":"111","DOI":"10.1109\/VLHCC.2007.17","volume-title":"Proceedings of the IEEE symposium on visual languages and humancentric computing","author":"J Segal","year":"2007","unstructured":"Segal J (2007) Some problems of professional end user developers. In: Proceedings of the IEEE symposium on visual languages and humancentric computing, Coeur d\u2019Alene, ID, pp 111\u2013118"},{"issue":"4","key":"821_CR48","doi-asserted-by":"crossref","first-page":"18","DOI":"10.1109\/MS.2008.85","volume":"25","author":"J Segal","year":"2008","unstructured":"Segal J, Morris C (2008) Developing scientific software. IEEE Softw 25(4):18\u201320","journal-title":"IEEE Softw"},{"issue":"4","key":"821_CR49","doi-asserted-by":"crossref","first-page":"15","DOI":"10.1109\/MS.2009.92","volume":"26","author":"J Sprinkle","year":"2009","unstructured":"Sprinkle J, Mernik M, Tolvanen JP, Spinellis D (2009) Guest Editors\u2019 introduction: what kinds of nails need a Domain-Specific hammer? IEEE Softw 26(4):15\u201318","journal-title":"IEEE Softw"},{"key":"821_CR50","first-page":"178","volume-title":"Proceedings of the international conference on software language engineering, tool demonstration","author":"Y Sun","year":"2008","unstructured":"Sun Y, Demirezen Z, Jouault F, Tairas R, Gray J (2008) A model engineering approach to tool interoperability. In: Proceedings of the international conference on software language engineering, tool demonstration, Toulouse, France, pp 178\u2013187"},{"key":"821_CR51","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1007\/978-3-540-89740-8_1","volume-title":"Proceedings of the international workshop on languages and compilers for parallel computing","author":"SZ Ueng","year":"2008","unstructured":"Ueng SZ, Lathara M, Baghsorkhi SS, Hwu WMW (2008) CUDA-Lite: reducing GPU programming complexity. In: Proceedings of the international workshop on languages and compilers for parallel computing, Edmonton, Canada, pp 1\u201315"},{"issue":"1","key":"821_CR52","doi-asserted-by":"crossref","first-page":"4","DOI":"10.1511\/2006.57.3473","volume":"94","author":"G Wilson","year":"2006","unstructured":"Wilson G (2006) Where\u2019s the real bottleneck in scientific computing? Am Sci 94(1):4","journal-title":"Am Sci"}],"container-title":["The Journal of Supercomputing"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-012-0821-7.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s11227-012-0821-7\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-012-0821-7","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,1,28]],"date-time":"2022-01-28T17:28:48Z","timestamp":1643390928000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s11227-012-0821-7"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,9,12]]},"references-count":52,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2012,12]]}},"alternative-id":["821"],"URL":"https:\/\/doi.org\/10.1007\/s11227-012-0821-7","relation":{},"ISSN":["0920-8542","1573-0484"],"issn-type":[{"value":"0920-8542","type":"print"},{"value":"1573-0484","type":"electronic"}],"subject":[],"published":{"date-parts":[[2012,9,12]]}}}