Correct program parallelisations
A commonly used approach to develop deterministic parallel programs is to augment a sequential program with compiler directives that indicate which program blocks may potentially be executed in parallel. This paper develops a verification technique to reason about such compiler directives, in partic...
Uložené v:
| Vydané v: | International journal on software tools for technology transfer Ročník 23; číslo 5; s. 741 - 763 |
|---|---|
| Hlavní autori: | , , , |
| Médium: | Journal Article |
| Jazyk: | English |
| Vydavateľské údaje: |
Berlin/Heidelberg
Springer Berlin Heidelberg
01.10.2021
Springer Nature B.V |
| Predmet: | |
| ISSN: | 1433-2779, 1433-2787 |
| On-line prístup: | Získať plný text |
| Tagy: |
Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
|
| Abstract | A commonly used approach to develop deterministic parallel programs is to augment a sequential program with compiler directives that indicate which program blocks may potentially be executed in parallel. This paper develops a verification technique to reason about such compiler directives, in particular to show that they do not change the behaviour of the program. Moreover, the verification technique is tool-supported and can be combined with proving functional correctness of the program. To develop our verification technique, we propose a simple intermediate representation (syntax and semantics) that captures the main forms of deterministic parallel programs. This language distinguishes three kinds of basic blocks: parallel, vectorised and sequential blocks, which can be composed using three different composition operators: sequential, parallel and fusion composition. We show how a widely used subset of OpenMP can be encoded into this intermediate representation. Our verification technique builds on the notion of iteration contract to specify the behaviour of basic blocks; we show that if iteration contracts are manually specified for single blocks, then that is sufficient to automatically reason about data race freedom of the composed program. Moreover, we also show that it is sufficient to establish functional correctness on a linearised version of the original program to conclude functional correctness of the parallel program. Finally, we exemplify our approach on an example OpenMP program, and we discuss how tool support is provided. |
|---|---|
| AbstractList | A commonly used approach to develop deterministic parallel programs is to augment a sequential program with compiler directives that indicate which program blocks may potentially be executed in parallel. This paper develops a verification technique to reason about such compiler directives, in particular to show that they do not change the behaviour of the program. Moreover, the verification technique is tool-supported and can be combined with proving functional correctness of the program. To develop our verification technique, we propose a simple intermediate representation (syntax and semantics) that captures the main forms of deterministic parallel programs. This language distinguishes three kinds of basic blocks: parallel, vectorised and sequential blocks, which can be composed using three different composition operators: sequential, parallel and fusion composition. We show how a widely used subset of OpenMP can be encoded into this intermediate representation. Our verification technique builds on the notion of iteration contract to specify the behaviour of basic blocks; we show that if iteration contracts are manually specified for single blocks, then that is sufficient to automatically reason about data race freedom of the composed program. Moreover, we also show that it is sufficient to establish functional correctness on a linearised version of the original program to conclude functional correctness of the parallel program. Finally, we exemplify our approach on an example OpenMP program, and we discuss how tool support is provided. |
| Author | Blom, S. Huisman, M. Safari, M. Darabi, S. |
| Author_xml | – sequence: 1 givenname: S. surname: Blom fullname: Blom, S. organization: BetterBe – sequence: 2 givenname: S. surname: Darabi fullname: Darabi, S. organization: ASML Veldhoven – sequence: 3 givenname: M. surname: Huisman fullname: Huisman, M. organization: University of Twente – sequence: 4 givenname: M. surname: Safari fullname: Safari, M. email: m.safari@utwente.nl organization: University of Twente |
| BookMark | eNp9kD9PwzAQxS1UJNrCF2CKxGw424ntjCjin1SJBWbLcS5VqjQudjrQT49pEEgMXe5ueL-7d29BZoMfkJBrBrcMQN3FVKGkwIECSGD0cEbmLBeCcqXV7HdW5QVZxLgBYEqqck6yyoeAbsx2wa-D3WY7G2zfY99FO3Z-iJfkvLV9xKufviTvjw9v1TNdvT69VPcr6oQUI5UgkbUCy8bmNq9BFbllXGNZq0YUhYC2aARvdK0kt0xKh02tJYoaLCJ3WizJzbQ3GfnYYxzNxu_DkE4aLoFrmRcgk4pPKhd8jAFbswvd1oZPw8B8J2GmJExKwhyTMIcE6X-Q68bjd2OwXX8aFRMa051hjeHP1QnqC8RqdFI |
| CitedBy_id | crossref_primary_10_3103_S0146411622070070 crossref_primary_10_1007_s10009_021_00632_0 |
| Cites_doi | 10.2168/LMCS-11(1:2)2015 10.1145/2491522.2491525 10.1145/1925844.1926416 10.1145/2517327.2442529 10.1016/j.jpdc.2004.11.010 10.1145/2818638 10.1007/978-3-642-19718-5_23 10.1007/978-3-319-11454-5_7 10.1145/1345206.1345234 10.1007/978-3-662-46675-9_14 10.1109/IISWC.2009.5306797 10.1007/978-3-030-34968-4_5 10.1007/3-540-44898-5_4 10.1007/978-3-662-49122-5_2 10.1007/978-3-642-38856-9_16 10.1007/978-3-319-57288-8_17 10.1007/978-3-540-89330-1_13 10.1145/2160910.2160911 10.1145/2103621.2103694 10.1145/1047659.1040327 |
| ContentType | Journal Article |
| Copyright | The Author(s) 2021 The Author(s) 2021. This work is published under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License. |
| Copyright_xml | – notice: The Author(s) 2021 – notice: The Author(s) 2021. This work is published under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License. |
| DBID | C6C AAYXX CITATION 3V. 7SC 7XB 8AL 8AO 8FD 8FE 8FG 8FK 8G5 ABJCF ABUWG AFKRA ARAPS AZQEC BENPR BGLVJ CCPQU DWQXO GNUQQ GUQSH HCIFZ JQ2 K7- L6V L7M L~C L~D M0N M2O M7S MBDVC P5Z P62 PADUT PHGZM PHGZT PKEHL PQEST PQGLB PQQKQ PQUKI PRINS PTHSS Q9U |
| DOI | 10.1007/s10009-020-00601-z |
| DatabaseName | Springer Nature OA Free Journals CrossRef ProQuest Central (Corporate) Computer and Information Systems Abstracts ProQuest Central (purchase pre-March 2016) Computing Database (Alumni Edition) ProQuest Pharma Collection Technology Research Database ProQuest SciTech Collection ProQuest Technology Collection ProQuest Central (Alumni) (purchase pre-March 2016) ProQuest Research Library Materials Science & Engineering Collection ProQuest Central (Alumni) ProQuest Central UK/Ireland Advanced Technologies & Computer Science Collection ProQuest Central Essentials ProQuest Central Technology Collection ProQuest One Community College ProQuest Central ProQuest Central Student Research Library Prep SciTech Premium Collection (UHCL Subscription) ProQuest Computer Science Collection Computer Science Database ProQuest Engineering Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional Computing Database Research Library Engineering Database Research Library (Corporate) Advanced Technologies & Aerospace Database ProQuest Advanced Technologies & Aerospace Collection Research Library China ProQuest Central Premium ProQuest One Academic (New) ProQuest One Academic Middle East (New) ProQuest One Academic Eastern Edition (DO NOT USE) One Applied & Life Sciences ProQuest One Academic (retired) ProQuest One Academic UKI Edition ProQuest Central China Engineering Collection ProQuest Central Basic |
| DatabaseTitle | CrossRef Research Library Prep Computer Science Database ProQuest Central Student Technology Collection Technology Research Database Computer and Information Systems Abstracts – Academic ProQuest One Academic Middle East (New) ProQuest Advanced Technologies & Aerospace Collection ProQuest Central Essentials ProQuest Computer Science Collection Computer and Information Systems Abstracts ProQuest Central (Alumni Edition) SciTech Premium Collection ProQuest One Community College Research Library (Alumni Edition) ProQuest Pharma Collection ProQuest Central China ProQuest Central ProQuest One Applied & Life Sciences ProQuest Engineering Collection ProQuest Central Korea ProQuest Research Library Research Library China ProQuest Central (New) Advanced Technologies Database with Aerospace Engineering Collection Advanced Technologies & Aerospace Collection ProQuest Computing Engineering Database ProQuest Central Basic ProQuest Computing (Alumni Edition) ProQuest One Academic Eastern Edition ProQuest Technology Collection ProQuest SciTech Collection Computer and Information Systems Abstracts Professional Advanced Technologies & Aerospace Database ProQuest One Academic UKI Edition Materials Science & Engineering Collection ProQuest One Academic ProQuest One Academic (New) ProQuest Central (Alumni) |
| DatabaseTitleList | CrossRef Research Library Prep |
| Database_xml | – sequence: 1 dbid: BENPR name: ProQuest Central url: https://www.proquest.com/central sourceTypes: Aggregation Database |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 1433-2787 |
| EndPage | 763 |
| ExternalDocumentID | 10_1007_s10009_020_00601_z |
| GroupedDBID | -59 -5G -BR -EM -Y2 -~C .4S .86 .DC .VR 06D 0R~ 0VY 1N0 1SB 203 29J 2J2 2JN 2JY 2KG 2KM 2LR 2P1 2VQ 2~H 30V 3V. 4.4 406 408 409 40D 40E 5GY 5VS 67Z 6NX 8AO 8FE 8FG 8FW 8G5 8TC 95- 95. 95~ 96X AAAVM AABHQ AACDK AAHNG AAIAL AAJBT AAJKR AANZL AARHV AARTL AASML AATNV AATVU AAUYE AAWCG AAYIU AAYQN AAYTO AAYZH ABAKF ABBBX ABBXA ABDZT ABECU ABFTD ABFTV ABHLI ABHQN ABJCF ABJNI ABJOX ABKCH ABKTR ABMNI ABMQK ABNWP ABQBU ABQSL ABSXP ABTEG ABTHY ABTKH ABTMW ABULA ABUWG ABWNU ABXPI ACAOD ACBXY ACDTI ACGFS ACHSB ACHXU ACIWK ACKNC ACMDZ ACMLO ACOKC ACOMO ACPIV ACSNA ACZOJ ADHHG ADHIR ADINQ ADKNI ADKPE ADRFC ADTPH ADURQ ADYFF ADZKW AEBTG AEFQL AEGAL AEGNC AEJHL AEJRE AEKMD AEMSY AEOHA AEPYU AESKC AETLH AEVLU AEXYK AFBBN AFGCZ AFKRA AFLOW AFQWF AFWTZ AFZKB AGAYW AGDGC AGGDS AGJBK AGMZJ AGQEE AGQMX AGRTI AGWIL AGWZB AGYKE AHAVH AHBYD AHKAY AHSBF AHYZX AIAKS AIGIU AIIXL AILAN AITGF AJBLW AJRNO AJZVZ ALMA_UNASSIGNED_HOLDINGS ALWAN AMKLP AMXSW AMYLF AMYQR AOCGG ARAPS ARCSS ARMRJ ASPBG AVWKF AXYYD AYJHY AZFZN AZQEC B-. BA0 BDATZ BENPR BGLVJ BGNMA BPHCQ BSONS C6C CAG CCPQU COF CS3 CSCUP DDRTE DL5 DNIVK DPUIP DU5 DWQXO EBLON EBS EDO EIOEI EJD ESBYG FEDTE FERAY FFXSO FIGPU FINBP FNLPD FRRFC FSGXE FWDCC GGCAI GGRSB GJIRD GNUQQ GNWQR GQ6 GQ7 GQ8 GUQSH GXS H13 HCIFZ HF~ HG5 HG6 HMJXF HQYDN HRMNR HVGLF HZ~ I-F I09 IHE IJ- IKXTQ ITM IWAJR IXC IZIGR IZQ I~X I~Z J-C J0Z JBSCW JCJTX JZLTJ K6V K7- KDC KOV L6V LAS LLZTM M0N M2O M4Y M7S MA- MK~ ML~ N2Q NB0 NPVJJ NQJWS NU0 O9- O93 O9J OAM P62 P9O PADUT PF0 PQQKQ PROAC PT4 PT5 PTHSS Q2X QOS R89 R9I RIG RNI ROL RPX RSV RZK S16 S1Z S27 S3B SAP SCO SDH SHX SISQX SJYHP SNE SNPRN SNX SOHCF SOJ SPISZ SRMVM SSLCW STPWE SZN T13 TSG TSK TSV TUC TUS U2A UG4 UOJIU UTJUX UZXMN VC2 VFIZW W23 W48 WK8 YLTOR Z45 Z7R Z7X Z7Z Z83 Z88 ZMTXR AAPKM AAYXX ABBRH ABDBE ABFSG ABRTQ ACSTC ADHKG AEZWR AFDZB AFFHD AFHIU AFOHR AGQPQ AHPBZ AHWEU AIXLP ATHPR AYFIA CITATION PHGZM PHGZT PQGLB 7SC 7XB 8AL 8FD 8FK JQ2 L7M L~C L~D MBDVC PKEHL PQEST PQUKI PRINS Q9U |
| ID | FETCH-LOGICAL-c363t-606e1f3e9da4a4b0754a128e9b7d35530f5d32d8b762a166cedb86e3b0aee2c83 |
| IEDL.DBID | RSV |
| ISICitedReferencesCount | 8 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000617824200001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 1433-2779 |
| IngestDate | Wed Nov 05 01:47:00 EST 2025 Sat Nov 29 03:07:48 EST 2025 Tue Nov 18 22:21:35 EST 2025 Fri Feb 21 02:47:39 EST 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 5 |
| Keywords | Software verification Parallelisation Deterministic parallel programming |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c363t-606e1f3e9da4a4b0754a128e9b7d35530f5d32d8b762a166cedb86e3b0aee2c83 |
| Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
| OpenAccessLink | https://link.springer.com/10.1007/s10009-020-00601-z |
| PQID | 2602864506 |
| PQPubID | 46652 |
| PageCount | 23 |
| ParticipantIDs | proquest_journals_2602864506 crossref_primary_10_1007_s10009_020_00601_z crossref_citationtrail_10_1007_s10009_020_00601_z springer_journals_10_1007_s10009_020_00601_z |
| PublicationCentury | 2000 |
| PublicationDate | 20211000 2021-10-00 20211001 |
| PublicationDateYYYYMMDD | 2021-10-01 |
| PublicationDate_xml | – month: 10 year: 2021 text: 20211000 |
| PublicationDecade | 2020 |
| PublicationPlace | Berlin/Heidelberg |
| PublicationPlace_xml | – name: Berlin/Heidelberg – name: Heidelberg |
| PublicationTitle | International journal on software tools for technology transfer |
| PublicationTitleAbbrev | Int J Softw Tools Technol Transfer |
| PublicationYear | 2021 |
| Publisher | Springer Berlin Heidelberg Springer Nature B.V |
| Publisher_xml | – name: Springer Berlin Heidelberg – name: Springer Nature B.V |
| References | Bubel, R., Hähnle, R., Heydari Tabar, A.: A program logic for dependence analysis. In: Ahrendt, W., Tapia Tarifa, S.L. (eds.) Integrated Formal Methods. Springer International Publishing, Cham, pp. 83–100 (2019) Salamanca, J., Mattos, L., Araujo, G.: Loop-carried dependence verification in OpenMP. In: International Workshop on OpenMP 2014, pp. 87–102 (2014) Hurlin, C.: Specification and Verification of Multithreaded Object-Oriented Programs with Separation Logic. PhD thesis, Université Nice Sophia Antipolis (2009) Viper project website. http://www.pm.inf.ethz.ch/research/viper von Praun, C., Bordawekar, R., Cascaval, C.: Modeling optimistic concurrency using quantitative dependence analysis. In: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 185–196 (2008) Amighi, A., Haack, C., Huisman, M., Hurlin, C.: Permission-based separation logic for multithreaded Java programs. LMCS 11(1), (2015) Barthe, G., Crespo, J.M., Gulwani, S., Kunz, C., Marron, M.: From relational verification to SIMD loop synthesis. In: PPoPP, pp. 123–134 (2013) Haack, C., Huisman, M., Hurlin, C.: Reasoning about Java’s reentrant locks. In: Ramalingam, G., (ed.) Programming Languages and Systems, 6th Asian Symposium, APLAS 2008, Bangalore, India, December 9–11, 2008. Proceedings, Volume 5356 of LNCS. Springer, pp. 171–187 (2008) Raychev, V., Vechev, M., Yahav, E.: Automatic synthesis of deterministic concurrency. In: Static Analysis—20th International Symposium, SAS 2013, Seattle, WA, USA, June 20–22, 2013. Proceedings. Springer, pp. 283–303 (2013) SmansJJacobsBPiessensFImplicit dynamic framesACM Trans. Program. Lang. Syst.20123412:12:5810.1145/2160910.2160911 Dodds, M., Jagannathan, S., Parkinson, M.J.: Modular reasoning for deterministic parallelism. In ACM SIGPLAN Notices, pp. 259–270 (2011) Botincan, M., Dodds, M., Jagannathan, S.: Resource-sensitive synchronization inference by abduction. In: Field, J., Hicks, M. (eds.) Principles of Programming Languages (POPL 2012), pp. 309–322 (2012) Che, S., Boyer, M., Meng, J., Tarjan, D., Sheaffer, J.W., Lee, S.-H., Skadron, K.: Rodinia: A benchmark suite for heterogeneous computing. In Workload Characterization. IISWC 2009, pp. 44–54 (2009) Parkinson, M., Summers, A.: The relationship between separation logic and implicit dynamic frames. In Barthe, G. (ed.) Programming Languages and Systems—20th European Symposium on Programming, ESOP 2011, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2011, Saarbrücken, Germany, March 26–April 3, 2011. Proceedings, volume 6602 of LNCS. Springer, pp. 439–458 (2011) Aviram, A., Ford, B.: Deterministic OpenMP for Race-free Parallelism. In HotPar’11 (2011) Boyland, J.: Checking interference with fractional permissions. In: SAS, Volume 2694 of LNCS. Springer, pp. 55–72 (2003) Müller, P., Schwerhoff, M., Summers, A.: Viper—a verification infrastructure for permission-based reasoning. In VMCAI (2016) BergerMJAftosmisMJMarshallDDMurmanSMPerformance of a new CFD flow solver using a hybrid programming paradigmJ. Parallel Distrib. Comput.200565441442310.1016/j.jpdc.2004.11.010 Leavens, G., Poll, E., Clifton, C., Cheon, Y., Ruby, C., Cok, D.R., Müller, P., Kiniry, J., Chalin, P.: JML Reference Manual (2007). Dept. of Computer Science, Iowa State University. http://www.jmlspecs.org Blom, S., Darabi, S., Huisman, M.: Verification of loop parallelisations. In: Egyed, A., Schaefer, I. (eds.) FASE, Volume 9033 of LNCS. Springer, pp. 202–217 (2015) Darabi, S., Blom, S., Huisman, M.: A verification technique for deterministic parallel programs. In: Barrett, C., Davies, M., Kahsai, T. (eds.) NASA Formal Methods (NFM), Volume 10227 of LNCS, pp. 247–264 (2017) LLNL OpenMP Benchmarks. Last accessed 28 Nov 2016. https://asc.llnl.gov/CORAL-benchmarks DoddsMJagannathanSParkinsonMJSvendsenKBirkedalLVerifying custom synchronization constructs using higher-order separation logicACM Trans. Program. Lang. Syst.20163824:14:7210.1145/2818638 Jin, H.-Q., Frumkin, M., Yan, J.: The OpenMP Implementation of NAS Parallel Benchmarks and its Performance (1999) Bornat, R., Calcagno, C., O’Hearn, P., Parkinson, M.: Permission accounting in separation logic. In: POPL, pp. 259–270 (2005) OpenMP architecture review board, OpenMP API specification for parallel programming. Last accessed 18 Oct 2016. http://openmp.org/wp BotinčanMDoddsMJagannathanSProof-directed parallelization synthesis by separation logicACM Trans. Program. Lang. Syst.20133516010.1145/2491522.2491525 J Smans (601_CR25) 2012; 34 601_CR6 M Dodds (601_CR14) 2016; 38 601_CR5 601_CR3 601_CR2 601_CR1 601_CR21 601_CR22 601_CR20 M Botinčan (601_CR8) 2013; 35 601_CR26 601_CR23 601_CR24 601_CR27 601_CR10 601_CR9 601_CR11 601_CR7 601_CR15 601_CR12 601_CR13 MJ Berger (601_CR4) 2005; 65 601_CR18 601_CR19 601_CR16 601_CR17 |
| References_xml | – reference: LLNL OpenMP Benchmarks. Last accessed 28 Nov 2016. https://asc.llnl.gov/CORAL-benchmarks/ – reference: Bornat, R., Calcagno, C., O’Hearn, P., Parkinson, M.: Permission accounting in separation logic. In: POPL, pp. 259–270 (2005) – reference: Barthe, G., Crespo, J.M., Gulwani, S., Kunz, C., Marron, M.: From relational verification to SIMD loop synthesis. In: PPoPP, pp. 123–134 (2013) – reference: Blom, S., Darabi, S., Huisman, M.: Verification of loop parallelisations. In: Egyed, A., Schaefer, I. (eds.) FASE, Volume 9033 of LNCS. Springer, pp. 202–217 (2015) – reference: Che, S., Boyer, M., Meng, J., Tarjan, D., Sheaffer, J.W., Lee, S.-H., Skadron, K.: Rodinia: A benchmark suite for heterogeneous computing. In Workload Characterization. IISWC 2009, pp. 44–54 (2009) – reference: von Praun, C., Bordawekar, R., Cascaval, C.: Modeling optimistic concurrency using quantitative dependence analysis. In: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 185–196 (2008) – reference: Amighi, A., Haack, C., Huisman, M., Hurlin, C.: Permission-based separation logic for multithreaded Java programs. LMCS 11(1), (2015) – reference: Müller, P., Schwerhoff, M., Summers, A.: Viper—a verification infrastructure for permission-based reasoning. In VMCAI (2016) – reference: Leavens, G., Poll, E., Clifton, C., Cheon, Y., Ruby, C., Cok, D.R., Müller, P., Kiniry, J., Chalin, P.: JML Reference Manual (2007). Dept. of Computer Science, Iowa State University. http://www.jmlspecs.org – reference: BergerMJAftosmisMJMarshallDDMurmanSMPerformance of a new CFD flow solver using a hybrid programming paradigmJ. Parallel Distrib. Comput.200565441442310.1016/j.jpdc.2004.11.010 – reference: OpenMP architecture review board, OpenMP API specification for parallel programming. Last accessed 18 Oct 2016. http://openmp.org/wp/ – reference: Aviram, A., Ford, B.: Deterministic OpenMP for Race-free Parallelism. In HotPar’11 (2011) – reference: Bubel, R., Hähnle, R., Heydari Tabar, A.: A program logic for dependence analysis. In: Ahrendt, W., Tapia Tarifa, S.L. (eds.) Integrated Formal Methods. Springer International Publishing, Cham, pp. 83–100 (2019) – reference: SmansJJacobsBPiessensFImplicit dynamic framesACM Trans. Program. Lang. Syst.20123412:12:5810.1145/2160910.2160911 – reference: Haack, C., Huisman, M., Hurlin, C.: Reasoning about Java’s reentrant locks. In: Ramalingam, G., (ed.) Programming Languages and Systems, 6th Asian Symposium, APLAS 2008, Bangalore, India, December 9–11, 2008. Proceedings, Volume 5356 of LNCS. Springer, pp. 171–187 (2008) – reference: Raychev, V., Vechev, M., Yahav, E.: Automatic synthesis of deterministic concurrency. In: Static Analysis—20th International Symposium, SAS 2013, Seattle, WA, USA, June 20–22, 2013. Proceedings. Springer, pp. 283–303 (2013) – reference: Darabi, S., Blom, S., Huisman, M.: A verification technique for deterministic parallel programs. In: Barrett, C., Davies, M., Kahsai, T. (eds.) NASA Formal Methods (NFM), Volume 10227 of LNCS, pp. 247–264 (2017) – reference: Viper project website. http://www.pm.inf.ethz.ch/research/viper – reference: Parkinson, M., Summers, A.: The relationship between separation logic and implicit dynamic frames. In Barthe, G. (ed.) Programming Languages and Systems—20th European Symposium on Programming, ESOP 2011, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2011, Saarbrücken, Germany, March 26–April 3, 2011. Proceedings, volume 6602 of LNCS. Springer, pp. 439–458 (2011) – reference: Jin, H.-Q., Frumkin, M., Yan, J.: The OpenMP Implementation of NAS Parallel Benchmarks and its Performance (1999) – reference: Botincan, M., Dodds, M., Jagannathan, S.: Resource-sensitive synchronization inference by abduction. In: Field, J., Hicks, M. (eds.) Principles of Programming Languages (POPL 2012), pp. 309–322 (2012) – reference: DoddsMJagannathanSParkinsonMJSvendsenKBirkedalLVerifying custom synchronization constructs using higher-order separation logicACM Trans. Program. Lang. Syst.20163824:14:7210.1145/2818638 – reference: Hurlin, C.: Specification and Verification of Multithreaded Object-Oriented Programs with Separation Logic. PhD thesis, Université Nice Sophia Antipolis (2009) – reference: BotinčanMDoddsMJagannathanSProof-directed parallelization synthesis by separation logicACM Trans. Program. Lang. Syst.20133516010.1145/2491522.2491525 – reference: Boyland, J.: Checking interference with fractional permissions. In: SAS, Volume 2694 of LNCS. Springer, pp. 55–72 (2003) – reference: Salamanca, J., Mattos, L., Araujo, G.: Loop-carried dependence verification in OpenMP. In: International Workshop on OpenMP 2014, pp. 87–102 (2014) – reference: Dodds, M., Jagannathan, S., Parkinson, M.J.: Modular reasoning for deterministic parallelism. In ACM SIGPLAN Notices, pp. 259–270 (2011) – ident: 601_CR1 doi: 10.2168/LMCS-11(1:2)2015 – ident: 601_CR17 – volume: 35 start-page: 1 year: 2013 ident: 601_CR8 publication-title: ACM Trans. Program. Lang. Syst. doi: 10.1145/2491522.2491525 – ident: 601_CR13 doi: 10.1145/1925844.1926416 – ident: 601_CR3 doi: 10.1145/2517327.2442529 – volume: 65 start-page: 414 issue: 4 year: 2005 ident: 601_CR4 publication-title: J. Parallel Distrib. Comput. doi: 10.1016/j.jpdc.2004.11.010 – volume: 38 start-page: 4:1 issue: 2 year: 2016 ident: 601_CR14 publication-title: ACM Trans. Program. Lang. Syst. doi: 10.1145/2818638 – ident: 601_CR2 – ident: 601_CR21 – ident: 601_CR22 doi: 10.1007/978-3-642-19718-5_23 – ident: 601_CR24 doi: 10.1007/978-3-319-11454-5_7 – ident: 601_CR27 doi: 10.1145/1345206.1345234 – ident: 601_CR16 – ident: 601_CR5 doi: 10.1007/978-3-662-46675-9_14 – ident: 601_CR20 – ident: 601_CR11 doi: 10.1109/IISWC.2009.5306797 – ident: 601_CR10 doi: 10.1007/978-3-030-34968-4_5 – ident: 601_CR26 – ident: 601_CR9 doi: 10.1007/3-540-44898-5_4 – ident: 601_CR19 doi: 10.1007/978-3-662-49122-5_2 – ident: 601_CR23 doi: 10.1007/978-3-642-38856-9_16 – ident: 601_CR12 doi: 10.1007/978-3-319-57288-8_17 – ident: 601_CR15 doi: 10.1007/978-3-540-89330-1_13 – volume: 34 start-page: 2:1 issue: 1 year: 2012 ident: 601_CR25 publication-title: ACM Trans. Program. Lang. Syst. doi: 10.1145/2160910.2160911 – ident: 601_CR7 doi: 10.1145/2103621.2103694 – ident: 601_CR6 doi: 10.1145/1047659.1040327 – ident: 601_CR18 |
| SSID | ssj0017679 |
| Score | 2.3223667 |
| Snippet | A commonly used approach to develop deterministic parallel programs is to augment a sequential program with compiler directives that indicate which program... |
| SourceID | proquest crossref springer |
| SourceType | Aggregation Database Enrichment Source Index Database Publisher |
| StartPage | 741 |
| SubjectTerms | Compilers Composition Computer Science Parallel programming Programming languages Representations Semantics Software Software Engineering Software Engineering/Programming and Operating Systems Syntax Theory of Computation Verification |
| SummonAdditionalLinks | – databaseName: ProQuest Central dbid: BENPR link: http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV09T8MwED1By8BC-RSFgjKwgUViO3EyIahaMaCqQoC6Rf6UkKq2tIGhvx47dRqBRBfmxFb0cr47-87vAVxlsaEsVgZJHRFEGeFI8DRCOGMhpzEXuGTnf3tig0E6GmVDf-C28G2VlU8sHbWaSndGfmvzbpwmNA6Tu9kHcqpRrrrqJTS2oemYyqydNx96g-Hzuo7AkpJtzyYFBGHGMn9txl-eKwsD2N2sttsStPwZmup881eJtIw8_dZ_v3kf9nzOGdyvjOQAtvTkEFqVnkPgl_cRBF0n1SGLwDdtBY4XfDzW46rl5xhe-72X7iPyCgpIkoQUyO5OdGSIzhSnnAqbHlBuA5LOBFPECQaZWBGsUmFdIo-SRGol0kQTEXKtsUzJCTQm04k-hUAYYai0wSzGgnLJUmXHUmZCxg2zIa0NUQVeLj29uFO5GOc1MbIDPLeA5yXg-bIN1-sxsxW5xsa3OxXKuV9oi7yGuA031X-qH_8929nm2c5hF7vulbJtrwONYv6pL2BHfhXvi_mlN7Nvi6bXMA priority: 102 providerName: ProQuest |
| Title | Correct program parallelisations |
| URI | https://link.springer.com/article/10.1007/s10009-020-00601-z https://www.proquest.com/docview/2602864506 |
| Volume | 23 |
| WOSCitedRecordID | wos000617824200001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVPQU databaseName: Advanced Technologies & Aerospace Database customDbUrl: eissn: 1433-2787 dateEnd: 20241214 omitProxy: false ssIdentifier: ssj0017679 issn: 1433-2779 databaseCode: P5Z dateStart: 20190101 isFulltext: true titleUrlDefault: https://search.proquest.com/hightechjournals providerName: ProQuest – providerCode: PRVPQU databaseName: Computer Science Database customDbUrl: eissn: 1433-2787 dateEnd: 20241214 omitProxy: false ssIdentifier: ssj0017679 issn: 1433-2779 databaseCode: K7- dateStart: 20190101 isFulltext: true titleUrlDefault: http://search.proquest.com/compscijour providerName: ProQuest – providerCode: PRVPQU databaseName: Engineering Database customDbUrl: eissn: 1433-2787 dateEnd: 20241214 omitProxy: false ssIdentifier: ssj0017679 issn: 1433-2779 databaseCode: M7S dateStart: 20190101 isFulltext: true titleUrlDefault: http://search.proquest.com providerName: ProQuest – providerCode: PRVPQU databaseName: ProQuest Central customDbUrl: eissn: 1433-2787 dateEnd: 20241214 omitProxy: false ssIdentifier: ssj0017679 issn: 1433-2779 databaseCode: BENPR dateStart: 20190101 isFulltext: true titleUrlDefault: https://www.proquest.com/central providerName: ProQuest – providerCode: PRVPQU databaseName: Research Library customDbUrl: eissn: 1433-2787 dateEnd: 20241214 omitProxy: false ssIdentifier: ssj0017679 issn: 1433-2779 databaseCode: M2O dateStart: 20190101 isFulltext: true titleUrlDefault: https://search.proquest.com/pqrl providerName: ProQuest – providerCode: PRVAVX databaseName: SpringerLINK Contemporary 1997-Present customDbUrl: eissn: 1433-2787 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0017679 issn: 1433-2779 databaseCode: RSV dateStart: 19971201 isFulltext: true titleUrlDefault: https://link.springer.com/search?facet-content-type=%22Journal%22 providerName: Springer Nature |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV3PS8MwFH64zYMX50-cztGDNw2sSdq0Rx0bgjqH0zG8lCRNQChTtuphf71Jl24qKujlXZqE8prkvdf3ve8BnMSBpixINZLKJ4gywpHgkY9wzNqcBlzggp1_dM36_Wg8jgeuKGxWot3LlGRxU38odit-5GNbCW3CCDSvQC2wbDM2Rh-OlrkDFhYMe8YRIAgzFrtSme_X-GyOVj7ml7RoYW169f-95xZsOu_SO19sh21YU5MdqJedGzx3kHfB69imHDL3HDzLswzgWaayEtyzBw-97n3nErleCUiSkOTIxCHK10TFKaecCuMIUG5Mj4oFS4ltDaSDlOA0Euby434YSpWKKFREtLlSWEZkH6qT54k6AE9ooak0ZivAgnLJotTMpUy3GdfMGK8G-KXKEumIxG0_iyxZUSBbFSRGBUmhgmTegNPlnJcFjcavo5vll0jckZolJvDCUUiDdtiAs1Lzq8c_r3b4t-FHsIEtbqUA7DWhmk9f1TGsy7f8aTZtQe2i2x_ctaByxZCRN_jWSjY0chA8toqt-A7s8NHL |
| linkProvider | Springer Nature |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V3NT8IwFH9BNNGL-BlR1B30pI2s7dbtYIxBDQQkHtBwm23XJSYEEKZG_ij_RtuxsWgiNw6et740-72-97r38QM48Z2IMieMkFQ2QZQRjgT3bIR9VuXU4QIn0_mfWqzd9rpd_6EAX1kvjCmrzGxiYqjDgTT_yC903I09lzpV92r4igxrlMmuZhQaU7Voqs8PfWUbXzZuNL6nGN_ddmp1lLIKIElcEiMdsSs7IsoPOeVUaJdJuTbSyhcsJIZEJ3JCgkNPaDPBbdeVKhSeq4iocqWw9IiWuwTLlHiuOVFNhmZZC-Yms_10CEIQZsxPm3TSVr0kDYFNH7e-BKHJT0eYR7e_ErKJn7sr_bcvtAHraURtXU-PwCYUVH8LShlbhZUar22waoaIRMZWWpJmmannvZ7qZQVNO_C4kH3uQrE_6Ks9sEQkIiq1q3awoFwyL9RrKYuqjEdMO-wy2BlYgUyHpxsOj16Qj302AAca4CABOJiU4Wy2ZjgdHTL37UqGapCakXGQQ1qG80wv8sd_S9ufL-0YVuud-1bQarSbB7CGTZ1OUqBYgWI8elOHsCLf45fx6ChRcAueF60v3zSYM1c |
| linkToPdf | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V3NS8MwFH_MKeLF-YnTqT3oSYNrkjbtQUTnhkMZQ1S81SRNQBhTt6m4P82_zqRLNxTczYPnNo_S3-v76Pv4AezFgaYsSDWSyieIMsKR4JGPcMyqnAZc4Gw7_90Va7Wi-_u4XYDPfBbGtlXmNjEz1OmTtP_Ij0zcjaOQBtXwSLu2iPZ54-T5BVkGKVtpzek0RipyqT7eTfrWP26eG6z3MW7Ub2oXyDEMIElCMkAmele-JipOOeVUGPdJuTHYKhYsJZZQRwcpwWkkjMngfhhKlYooVERUuVJYRsTInYFZRkzSU4TZs3qrfT2uYbAw2_RnAhKCMGOxG9lxg3tZUQLbqW6TEqHhd7c4iXV_lGczr9co_ef3tQSLLtb2TkcfxzIUVHcFSjmPhefM2ip4NUtRIgeea1bz7D70Tkd18lanNbj9k-dch2L3qas2wBNaaCqNEw-woFyyKDVnKdNVxjUzrrwMfg5cIt1adcvu0UkmC6Et2IkBO8nAToZlOBifeR4tFZl6dyVHOHEGpp9M4C3DYa4jk8u_S9ucLm0X5o2aJFfN1uUWLGDbwJN1LlagOOi9qm2Yk2-Dx35vx2m7Bw9_rTBfJHE9qQ |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Correct+program+parallelisations&rft.jtitle=International+journal+on+software+tools+for+technology+transfer&rft.au=Blom%2C+S.&rft.au=Darabi%2C+S.&rft.au=Huisman%2C+M.&rft.au=Safari%2C+M.&rft.date=2021-10-01&rft.pub=Springer+Berlin+Heidelberg&rft.issn=1433-2779&rft.eissn=1433-2787&rft.volume=23&rft.issue=5&rft.spage=741&rft.epage=763&rft_id=info:doi/10.1007%2Fs10009-020-00601-z&rft.externalDocID=10_1007_s10009_020_00601_z |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1433-2779&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1433-2779&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1433-2779&client=summon |