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...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:International journal on software tools for technology transfer Ročník 23; číslo 5; s. 741 - 763
Hlavní autori: Blom, S., Darabi, S., Huisman, M., Safari, M.
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