MultiRace: efficient on-the-fly data race detection in multithreaded C++ programs

Data race detection is highly essential for debugging multithreaded programs and assuring their correctness. Nevertheless, there is no single universal technique capable of handling the task efficiently, since the data race detection problem is computationally hard in the general case. Thus, all cur...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Concurrency and computation Jg. 19; H. 3; S. 327 - 340
Hauptverfasser: Pozniansky, Eli, Schuster, Assaf
Format: Journal Article
Sprache:Englisch
Veröffentlicht: Chichester, UK John Wiley & Sons, Ltd 10.03.2007
Schlagworte:
ISSN:1532-0626, 1532-0634
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract Data race detection is highly essential for debugging multithreaded programs and assuring their correctness. Nevertheless, there is no single universal technique capable of handling the task efficiently, since the data race detection problem is computationally hard in the general case. Thus, all currently available tools, when applied to some general case program, usually result in excessive false alarms or in a large number of undetected races. Another major drawback of many currently available tools is that they are restricted, for performance reasons, to detection units of fixed size. Thus, they all suffer from the same problem—choosing a small unit might result in missing some of the data races, while choosing a large one might lead to false detection. We present a novel testing tool, called MultiRace, which combines improved versions of Djit and Lockset—two very powerful on‐the‐fly algorithms for dynamic detection of apparent data races. Both extended algorithms detect races in multithreaded programs that may execute on weak consistency systems, and may use two‐way as well as global synchronization primitives. By employing novel technologies, MultiRace adjusts its detection to the native granularity of objects and variables in the program under examination. In order to monitor all accesses to each of the shared locations, MultiRace instruments the C++ source code of the program. It lets the user fine‐tune the detection process, but otherwise is completely automatic and transparent. This paper describes the algorithms employed in MultiRace, gives highlights of its implementation issues, and suggests some optimizations. It shows that the overheads imposed by MultiRace are often much smaller (orders of magnitude) than those obtained by other existing tools. Copyright © 2006 John Wiley & Sons, Ltd.
AbstractList Data race detection is highly essential for debugging multithreaded programs and assuring their correctness. Nevertheless, there is no single universal technique capable of handling the task efficiently, since the data race detection problem is computationally hard in the general case. Thus, all currently available tools, when applied to some general case program, usually result in excessive false alarms or in a large number of undetected races. Another major drawback of many currently available tools is that they are restricted, for performance reasons, to detection units of fixed size. Thus, they all suffer from the same problem—choosing a small unit might result in missing some of the data races, while choosing a large one might lead to false detection. We present a novel testing tool, called MultiRace, which combines improved versions of Djit and Lockset—two very powerful on‐the‐fly algorithms for dynamic detection of apparent data races. Both extended algorithms detect races in multithreaded programs that may execute on weak consistency systems, and may use two‐way as well as global synchronization primitives. By employing novel technologies, MultiRace adjusts its detection to the native granularity of objects and variables in the program under examination. In order to monitor all accesses to each of the shared locations, MultiRace instruments the C++ source code of the program. It lets the user fine‐tune the detection process, but otherwise is completely automatic and transparent. This paper describes the algorithms employed in MultiRace, gives highlights of its implementation issues, and suggests some optimizations. It shows that the overheads imposed by MultiRace are often much smaller (orders of magnitude) than those obtained by other existing tools. Copyright © 2006 John Wiley & Sons, Ltd.
Author Pozniansky, Eli
Schuster, Assaf
Author_xml – sequence: 1
  givenname: Eli
  surname: Pozniansky
  fullname: Pozniansky, Eli
  organization: Computer Science Department, Technion-Israel Institute of Technology, Haifa 32000, Israel
– sequence: 2
  givenname: Assaf
  surname: Schuster
  fullname: Schuster, Assaf
  email: assaf@cs.technion.ac.il
  organization: Computer Science Department, Technion-Israel Institute of Technology, Haifa 32000, Israel
BookMark eNp1kFtLw0AUhBepYFsFf8I-CiV1r0nqm9RahXpprfi4bDZn7WqalM2K9t-bUBEUfZqB881hmB7qlFUJCB1TMqSEsFOzgcbEYg91qeQsIjEXnW_P4gPUq-sXQiglnHbR_OatCG6hDZxhsNYZB2XAVRmFFUS22OJcB419c8c5BDDBVSV2JV63sbDyoHPI8XgwwBtfPXu9rg_RvtVFDUdf2kePl5Pl-Cqa3U2vx-ezyDDORSRTO4IsZWmmNbUxH1EhM2HjLJMZpVY2BZkVWSMxY6lOjNVpasRImkQakwjeR8PdX-OruvZglXFBt_2C165QlKh2ENUMotpBmsDJr8DGu7X227_QaIe-uwK2_3JqfD_5ybs6wMc3r_2rihOeSPV0O1UXi_kDp1OulvwTOVB_iQ
CitedBy_id crossref_primary_10_1002_spe_2121
crossref_primary_10_1002_stvr_1564
crossref_primary_10_1007_s11227_018_2307_8
crossref_primary_10_1155_2015_205827
crossref_primary_10_4218_etrij_17_0115_1027
crossref_primary_10_1007_s10766_014_0313_x
crossref_primary_10_1109_TSE_2022_3144480
crossref_primary_10_1007_s11432_015_0203_2
crossref_primary_10_1145_3093337_3037708
crossref_primary_10_1007_s10009_013_0277_y
crossref_primary_10_1109_ACCESS_2020_3022992
crossref_primary_10_1145_3093336_3037708
crossref_primary_10_1109_TSC_2016_2596288
crossref_primary_10_1007_s10766_018_0579_5
crossref_primary_10_1109_TPDS_2020_3032293
crossref_primary_10_1145_3720428
crossref_primary_10_1016_j_jpdc_2020_02_008
Cites_doi 10.1145/68210.69224
10.1145/312203.312214
10.1145/122759.122767
10.1145/359545.359563
10.1145/174266.171370
10.1145/130616.130623
10.1145/115952.115976
10.1145/318789.318809
10.1145/379605.379687
10.1006/jpdc.1999.1574
10.1145/265924.265927
ContentType Journal Article
Copyright Copyright © 2006 John Wiley & Sons, Ltd.
Copyright_xml – notice: Copyright © 2006 John Wiley & Sons, Ltd.
DBID BSCLL
AAYXX
CITATION
DOI 10.1002/cpe.1064
DatabaseName Istex
CrossRef
DatabaseTitle CrossRef
DatabaseTitleList
CrossRef
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1532-0634
EndPage 340
ExternalDocumentID 10_1002_cpe_1064
CPE1064
ark_67375_WNG_DRQS31G3_T
Genre article
GroupedDBID .3N
.DC
.GA
.Y3
05W
0R~
10A
1L6
1OC
31~
33P
3SF
3WU
4.4
50Y
50Z
51W
51X
52M
52N
52O
52P
52S
52T
52U
52W
52X
5GY
5VS
66C
702
7PT
8-0
8-1
8-3
8-4
8-5
8UM
930
A03
AAESR
AAEVG
AAHQN
AAMNL
AANHP
AANLZ
AAONW
AASGY
AAXRX
AAYCA
AAZKR
ABCQN
ABCUV
ABEML
ABIJN
ACAHQ
ACBWZ
ACCZN
ACPOU
ACRPL
ACSCC
ACXBN
ACXQS
ACYXJ
ADBBV
ADEOM
ADIZJ
ADKYN
ADMGS
ADMLS
ADNMO
ADOZA
ADXAS
ADZMN
AEIGN
AEIMD
AEUYR
AEYWJ
AFBPY
AFFPM
AFGKR
AFWVQ
AFZJQ
AGQPQ
AGYGG
AHBTC
AITYG
AIURR
AJXKR
ALMA_UNASSIGNED_HOLDINGS
ALVPJ
AMBMR
AMYDB
ASPBG
ATUGU
AUFTA
AVWKF
AZBYB
AZFZN
BAFTC
BDRZF
BFHJK
BHBCM
BMNLL
BROTX
BRXPI
BSCLL
BY8
CS3
D-E
D-F
DCZOG
DPXWK
DR2
DRFUL
DRSTM
EBS
EJD
F00
F01
F04
F5P
FEDTE
G-S
G.N
GNP
GODZA
HGLYW
HHY
HVGLF
HZ~
IX1
JPC
KQQ
LATKE
LAW
LC2
LC3
LEEKS
LH4
LITHE
LOXES
LP6
LP7
LUTES
LW6
LYRES
MEWTI
MK4
MRFUL
MRSTM
MSFUL
MSSTM
MXFUL
MXSTM
N04
N05
N9A
O66
O9-
OIG
P2W
P2X
P4D
PQQKQ
Q.N
Q11
QB0
QRW
R.K
ROL
RX1
SUPJJ
TN5
UB1
V2E
W8V
W99
WBKPD
WIH
WIK
WOHZO
WQJ
WXSBR
WYISQ
WZISG
XG1
XV2
~IA
~WT
AAHHS
ACCFJ
ADZOD
AEEZP
AEQDE
AEUQT
AFPWT
AIWBW
AJBDE
ALUQN
RWI
WRC
AAYXX
CITATION
O8X
ID FETCH-LOGICAL-c2334-58f9eb828baa1f639145b4f6bb5b11f50112f4b0116228a7cfa88c495c75cc743
IEDL.DBID DRFUL
ISICitedReferencesCount 81
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000244719500006&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 1532-0626
IngestDate Tue Nov 18 21:16:21 EST 2025
Sat Nov 29 01:41:09 EST 2025
Wed Jan 22 16:21:26 EST 2025
Tue Nov 11 03:32:52 EST 2025
IsPeerReviewed true
IsScholarly true
Issue 3
Language English
License http://onlinelibrary.wiley.com/termsAndConditions#vor
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c2334-58f9eb828baa1f639145b4f6bb5b11f50112f4b0116228a7cfa88c495c75cc743
Notes ark:/67375/WNG-DRQS31G3-T
ArticleID:CPE1064
istex:E9F262D424EE0A284ECC0B966FAF7B44562F3C95
PageCount 14
ParticipantIDs crossref_citationtrail_10_1002_cpe_1064
crossref_primary_10_1002_cpe_1064
wiley_primary_10_1002_cpe_1064_CPE1064
istex_primary_ark_67375_WNG_DRQS31G3_T
PublicationCentury 2000
PublicationDate 2007-03-10
10 March 2007
PublicationDateYYYYMMDD 2007-03-10
PublicationDate_xml – month: 03
  year: 2007
  text: 2007-03-10
  day: 10
PublicationDecade 2000
PublicationPlace Chichester, UK
PublicationPlace_xml – name: Chichester, UK
PublicationTitle Concurrency and computation
PublicationTitleAlternate Concurrency Computat.: Pract. Exper
PublicationYear 2007
Publisher John Wiley & Sons, Ltd
Publisher_xml – name: John Wiley & Sons, Ltd
References Dinning A, Schonberg E. Detecting access anomalies in programs with critical sections. Proceedings of the ACM/ONR Workshop on Parallel and Distributed Debugging. ACM SIGPLAN Notices 1991; 26(12):85-96.
Itzkovitz A, Schuster A, Zeev-Ben-Mordechai O. Towards integration of data race detection in DSM systems. Journal of Parallel and Distributed Computing (JPDC) 1999; 59(2):180-203.
Lamport L. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 1978; 21(7):558-565.
Ronsse M, Bosschere KD. RecPlay: A fully integrated practical record/replay system. ACM Transactions on Computer Systems 1999; 17(2):133-152.
Savage S, Burrows M, Nelson G, Sobalvarro P, Anderson T. Eraser: A dynamic data race detector for multithreaded programs. ACM Transactions on Computer Systems 1997; 15(4):391-411.
Netzer RHB, Miller BP. What are race conditions? Some issues and formalizations. ACM Letters on Programming Languages and Systems 1992; 1:74-88.
1991; 26
1990
2001
1978; 21
1999; 17
1997; 15
1999; 59
1993
1992
1991
1992; 1
1989
1999
1988
Brecht T (e_1_2_1_12_2) 1999
Mattern F (e_1_2_1_16_2) 1989
e_1_2_1_6_2
e_1_2_1_7_2
e_1_2_1_4_2
e_1_2_1_5_2
e_1_2_1_2_2
e_1_2_1_11_2
e_1_2_1_3_2
Itzkovitz A (e_1_2_1_13_2) 1999
e_1_2_1_10_2
e_1_2_1_15_2
e_1_2_1_14_2
e_1_2_1_8_2
e_1_2_1_17_2
e_1_2_1_9_2
References_xml – reference: Dinning A, Schonberg E. Detecting access anomalies in programs with critical sections. Proceedings of the ACM/ONR Workshop on Parallel and Distributed Debugging. ACM SIGPLAN Notices 1991; 26(12):85-96.
– reference: Itzkovitz A, Schuster A, Zeev-Ben-Mordechai O. Towards integration of data race detection in DSM systems. Journal of Parallel and Distributed Computing (JPDC) 1999; 59(2):180-203.
– reference: Savage S, Burrows M, Nelson G, Sobalvarro P, Anderson T. Eraser: A dynamic data race detector for multithreaded programs. ACM Transactions on Computer Systems 1997; 15(4):391-411.
– reference: Lamport L. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 1978; 21(7):558-565.
– reference: Netzer RHB, Miller BP. What are race conditions? Some issues and formalizations. ACM Letters on Programming Languages and Systems 1992; 1:74-88.
– reference: Ronsse M, Bosschere KD. RecPlay: A fully integrated practical record/replay system. ACM Transactions on Computer Systems 1999; 17(2):133-152.
– start-page: 175
  year: 1989
  end-page: 185
– start-page: 129
  year: 1993
  end-page: 139
– start-page: 89
  year: 1988
  end-page: 99
– volume: 15
  start-page: 391
  issue: 4
  year: 1997
  end-page: 411
  article-title: Eraser: A dynamic data race detector for multithreaded programs
  publication-title: ACM Transactions on Computer Systems
– start-page: 234
  year: 1991
  end-page: 243
– start-page: 90
  year: 2001
  end-page: 96
– volume: 17
  start-page: 133
  issue: 2
  year: 1999
  end-page: 152
  article-title: RecPlay: A fully integrated practical record/replay system
  publication-title: ACM Transactions on Computer Systems
– volume: 59
  start-page: 180
  issue: 2
  year: 1999
  end-page: 203
  article-title: Towards integration of data race detection in DSM systems
  publication-title: Journal of Parallel and Distributed Computing (JPDC)
– start-page: 215
  year: 1999
  end-page: 228
– start-page: 215
  year: 1989
  end-page: 226
– volume: 26
  start-page: 85
  issue: 12
  year: 1991
  end-page: 96
  article-title: Detecting access anomalies in programs with critical sections
  publication-title: Proceedings of the ACM/ONR Workshop on Parallel and Distributed Debugging. ACM SIGPLAN Notices
– year: 1990
– year: 1992
– volume: 21
  start-page: 558
  issue: 7
  year: 1978
  end-page: 565
  article-title: Time, clocks, and the ordering of events in a distributed system
  publication-title: Communications of the ACM
– volume: 1
  start-page: 74
  year: 1992
  end-page: 88
  article-title: What are race conditions? Some issues and formalizations
  publication-title: ACM Letters on Programming Languages and Systems
– year: 1999
– ident: e_1_2_1_17_2
  doi: 10.1145/68210.69224
– ident: e_1_2_1_9_2
  doi: 10.1145/312203.312214
– ident: e_1_2_1_3_2
– ident: e_1_2_1_8_2
  doi: 10.1145/122759.122767
– start-page: 215
  volume-title: Parallel and Distributed Algorithms
  year: 1989
  ident: e_1_2_1_16_2
– ident: e_1_2_1_14_2
  doi: 10.1145/359545.359563
– volume-title: Proceedings of the USENIX Annual Technical Conference
  year: 1999
  ident: e_1_2_1_12_2
– start-page: 215
  volume-title: Proceedings of the 3rd Symposium on Operating Systems Design and Implementation (OSDI)
  year: 1999
  ident: e_1_2_1_13_2
– ident: e_1_2_1_6_2
  doi: 10.1145/174266.171370
– ident: e_1_2_1_2_2
  doi: 10.1145/130616.130623
– ident: e_1_2_1_7_2
  doi: 10.1145/115952.115976
– ident: e_1_2_1_4_2
  doi: 10.1145/318789.318809
– ident: e_1_2_1_5_2
  doi: 10.1145/379605.379687
– ident: e_1_2_1_15_2
– ident: e_1_2_1_11_2
  doi: 10.1006/jpdc.1999.1574
– ident: e_1_2_1_10_2
  doi: 10.1145/265924.265927
SSID ssj0011031
Score 2.0686927
Snippet Data race detection is highly essential for debugging multithreaded programs and assuring their correctness. Nevertheless, there is no single universal...
SourceID crossref
wiley
istex
SourceType Enrichment Source
Index Database
Publisher
StartPage 327
SubjectTerms concurrency
data race
instrumentation
multithreading
synchronization
Title MultiRace: efficient on-the-fly data race detection in multithreaded C++ programs
URI https://api.istex.fr/ark:/67375/WNG-DRQS31G3-T/fulltext.pdf
https://onlinelibrary.wiley.com/doi/abs/10.1002%2Fcpe.1064
Volume 19
WOSCitedRecordID wos000244719500006&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: PRVWIB
  databaseName: Wiley Online Library Full Collection 2020
  customDbUrl:
  eissn: 1532-0634
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0011031
  issn: 1532-0626
  databaseCode: DRFUL
  dateStart: 20010101
  isFulltext: true
  titleUrlDefault: https://onlinelibrary.wiley.com
  providerName: Wiley-Blackwell
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV1bS8MwFA66-eCL84rzRgTRh1HWZmmX-ia7-SBjzg33VpI0geHoxjZF3_wJ_kZ_iSdpNxkoCL60fTgp5Vx6TpIv30HoIua-JGEgHUlc7dDQlQ4XEFdBoBiVgavDUNtmE9V2mw0GYSdDVZqzMCk_xHLBzUSG_V-bAOdiVv4mDZUTBY8BXUd5Am5Lcyhf7zb7d8s9BNPAIGVLJY4LdfuCetYl5cXYlWSUN3p9XS1SbZZpFv7zfdtoK6st8U3qDDtoTSW7qLDo24CzMN5DfXvqtsulusbKUkhA5sHj5PP9A8pBuOrRGzbQUTwFGRyrucVrJXiYYAtAnIMD8FjFuFYq4QzhNdtH_WajV7t1svYKYJdKhTo-06ESMOMSnHsaKhWP-oLqQAhfeJ72QYNEU2F2aghhvCo1Z0zChEpWfSmh8jhAuWScqEOE4zgWnuIq9ASnAeMhFxD30qcBEUwzXkRXCz1HMuMeNy0wRlHKmkwi0FZktFVE50vJScq38YPMpTXVUoBPnww-repHj-1WVO_eP1S8ViXqgaC10K9vimqdhrkf_VXwGG2mi7sG0HeCcvPpszpFG_JlPpxNzzIP_AJZHOCn
linkProvider Wiley-Blackwell
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV3dTtswFD4q7SS4oWMD8bfhSdO4QBGJa6fOdjUVCmhdxbpWcGfZji0hUEClTONuj7Bn3JNw7CSdkECatJskF8dRdH7iz8fH3wF4nytuaJaayNDYRSyLTaQ0xlWaWsFMGrssc6HZRHc4FOfn2WkDPtVnYUp-iHnCzUdG-F_7APcJ6f2_rKHmxuJjyhagxdCLeBNaB6P-ZDDfRPAdDEq6VBrFCNxr7tmY7tdjH81GLa_Yn49Raphm-u3_-sCXsFyhS_K5dIcVaNjiFbTrzg2kCuTXMAnnbkfK2I_EBhIJnHvIdfHn128EhHh1V_fEF4-SKcqQ3M5CxVZBLgoSShBn6AIqtznp7e2RqsbrdhUm_cNx7ziqGiygZTodFnHhMqtxzaWVShxilYRxzVyqNddJ4jiqkDqm_V4NpUJ1jVNCGFxSmS43BrHHGjSL68KuA8nzXCdW2SzRiqVCZUpj5BvOUqqFE2oDdmtFS1Oxj_smGFey5E2mErUlvbY24N1c8qZk3HhC5kOw1VxATS99hVqXy7PhkTwYffveSY46coyCwUTPvkn2Tg_9ffNfBXdg8Xj8dSAHJ8MvW7BUpnp9ed82NGfTO_sGXpgfs4vb6dvKHR8AzCrklw
linkToPdf http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV1La9wwEB7SbCm5NOkjJH2kKpT2EExsraSVmlPYzaYhYdluszQ3IckShAZn2WxLe-tP6G_sL-lItrcEUgj0YvswMmYenk_S6BuAN6XhjirhMkfzkDGVu8xYjCshvGRO5EGpkJpN9EYjeX6uxiuw356FqfkhlgtuMTLS_zoGuJ-VYe8va6ibeXwU7B50GFcCo7IzmAynp8tNhNjBoKZLpVmOwL3lns3pXjv2RjbqRMV-v4lSU5oZrv_XB27AwwZdkoPaHR7Biq8ew3rbuYE0gfwEpunc7cQ4_574RCKBuYdcVb9__kJAiNdw-YPE4lEyRxlS-kWq2KrIRUVSCeICXcCUviT93V3S1HhdP4Xp8PCs_yFrGiygZbpdlnEZlLc457LGFAGxSsG4ZUFYy21RBI4qpIHZuFdDqTQ9F4yUDqdUrsedQ-yxCavVVeW3gJRlaQtvvCqsYUIaZSxGvuNMUCuDNNvwrlW0dg37eGyCcalr3mSqUVs6amsbXi8lZzXjxi0yb5OtlgJm_iVWqPW4_jw60oPJx0_d4qirz1Awmeifb9L98WG8P7ur4Ct4MB4M9enx6OQ5rNUrvbG67wWsLuZf_Uu4774tLq7nO403_gGAOuQS
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=MultiRace%3A+efficient+on%E2%80%90the%E2%80%90fly+data+race+detection+in+multithreaded+C%2B%2B+programs&rft.jtitle=Concurrency+and+computation&rft.au=Pozniansky%2C+Eli&rft.au=Schuster%2C+Assaf&rft.date=2007-03-10&rft.pub=John+Wiley+%26+Sons%2C+Ltd&rft.issn=1532-0626&rft.eissn=1532-0634&rft.volume=19&rft.issue=3&rft.spage=327&rft.epage=340&rft_id=info:doi/10.1002%2Fcpe.1064&rft.externalDBID=10.1002%252Fcpe.1064&rft.externalDocID=CPE1064
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1532-0626&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1532-0626&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1532-0626&client=summon