Towards Efficient Large-Scale Interprocedural Program Static Analysis on Distributed Data-Parallel Computation

Static program analysis has been widely applied along the whole process of the program development for bug detection, code optimization, testing, etc. Although researchers have made significant work in static program analysis, it is still challenging to perform sophisticated interprocedural analysis...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:IEEE transactions on parallel and distributed systems Ročník 32; číslo 4; s. 867 - 883
Hlavní autori: Gu, Rong, Zuo, Zhiqiang, Jiang, Xi, Yin, Han, Wang, Zhaokang, Wang, Linzhang, Li, Xuandong, Huang, Yihua
Médium: Journal Article
Jazyk:English
Vydavateľské údaje: New York IEEE 01.04.2021
The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
Predmet:
ISSN:1045-9219, 1558-2183
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Abstract Static program analysis has been widely applied along the whole process of the program development for bug detection, code optimization, testing, etc. Although researchers have made significant work in static program analysis, it is still challenging to perform sophisticated interprocedural analysis on large-scale modern software. The underlying reason is that interprocedural analysis for large-scale modern software is highly computation- and memory-intensive, leading to poor efficiency and scalability. In this article, we introduce an efficient distributed and scalable solution for sophisticated static analysis. Specifically, we propose a data-parallel algorithm and a join-process-filter computation model for the CFL-reachability-based interprocedural analysis. Based on that, an efficient distributed static analysis engine called BigSpa is developed, which is composed of an offline batch static program analysis system and an online incremental static program analysis system. The BigSpa system has high generality and can support all kinds of static analysis tasks that can be expressed as CFL reachability problems. The performance of BigSpa is evaluated on real-world large-scale software datasets. Our experiments show that the offline batch system can exceed an order of magnitude compared with the most advanced analysis tools available on performance, and for incremental analysis with small batch updates on the same data sets, the online analysis system can achieve near real-time response, which is very fast and flexible.
AbstractList Static program analysis has been widely applied along the whole process of the program development for bug detection, code optimization, testing, etc. Although researchers have made significant work in static program analysis, it is still challenging to perform sophisticated interprocedural analysis on large-scale modern software. The underlying reason is that interprocedural analysis for large-scale modern software is highly computation- and memory-intensive, leading to poor efficiency and scalability. In this article, we introduce an efficient distributed and scalable solution for sophisticated static analysis. Specifically, we propose a data-parallel algorithm and a join-process-filter computation model for the CFL-reachability-based interprocedural analysis. Based on that, an efficient distributed static analysis engine called BigSpa is developed, which is composed of an offline batch static program analysis system and an online incremental static program analysis system. The BigSpa system has high generality and can support all kinds of static analysis tasks that can be expressed as CFL reachability problems. The performance of BigSpa is evaluated on real-world large-scale software datasets. Our experiments show that the offline batch system can exceed an order of magnitude compared with the most advanced analysis tools available on performance, and for incremental analysis with small batch updates on the same data sets, the online analysis system can achieve near real-time response, which is very fast and flexible.
Author Zuo, Zhiqiang
Gu, Rong
Wang, Zhaokang
Jiang, Xi
Yin, Han
Li, Xuandong
Huang, Yihua
Wang, Linzhang
Author_xml – sequence: 1
  givenname: Rong
  orcidid: 0000-0002-1565-9997
  surname: Gu
  fullname: Gu, Rong
  email: gurong@nju.edu.cn
  organization: State Key Laboratory for Novel Software Technology, and Department of Computer Science and Technology, Nanjing University, Nanjing, China
– sequence: 2
  givenname: Zhiqiang
  surname: Zuo
  fullname: Zuo, Zhiqiang
  email: zqzuo@nju.edu.cn
  organization: State Key Laboratory for Novel Software Technology, and Department of Computer Science and Technology, Nanjing University, Nanjing, China
– sequence: 3
  givenname: Xi
  surname: Jiang
  fullname: Jiang, Xi
  email: xijiang@smail.nju.edu.cn
  organization: State Key Laboratory for Novel Software Technology, and Department of Computer Science and Technology, Nanjing University, Nanjing, China
– sequence: 4
  givenname: Han
  surname: Yin
  fullname: Yin, Han
  email: hanyin@smail.nju.edu.cn
  organization: State Key Laboratory for Novel Software Technology, and Department of Computer Science and Technology, Nanjing University, Nanjing, China
– sequence: 5
  givenname: Zhaokang
  orcidid: 0000-0002-8123-9018
  surname: Wang
  fullname: Wang, Zhaokang
  email: zhaokangwang@smail.nju.edu.cn
  organization: State Key Laboratory for Novel Software Technology, and Department of Computer Science and Technology, Nanjing University, Nanjing, China
– sequence: 6
  givenname: Linzhang
  orcidid: 0000-0003-4794-1652
  surname: Wang
  fullname: Wang, Linzhang
  email: lzwang@nju.edu.cn
  organization: State Key Laboratory for Novel Software Technology, and Department of Computer Science and Technology, Nanjing University, Nanjing, China
– sequence: 7
  givenname: Xuandong
  surname: Li
  fullname: Li, Xuandong
  email: lxd@nju.edu.cn
  organization: State Key Laboratory for Novel Software Technology, and Department of Computer Science and Technology, Nanjing University, Nanjing, China
– sequence: 8
  givenname: Yihua
  orcidid: 0000-0003-1806-0936
  surname: Huang
  fullname: Huang, Yihua
  email: yhuang@nju.edu.cn
  organization: State Key Laboratory for Novel Software Technology, and Department of Computer Science and Technology, Nanjing University, Nanjing, China
BookMark eNp9kEtLAzEUhYMo-PwB4ibgempuJukkS2l9QcFC63qIyY1EppOaZBD_vVMqLly4undxvsPhOyWHfeyRkEtgEwCmb9bL-WrCGWeTmtVT0OyAnICUquKg6sPxZ0JWmoM-Jqc5vzMGQjJxQvp1_DTJZXrnfbAB-0IXJr1htbKmQ_rUF0zbFC26IZmOLlN8S2ZDV8WUYOltb7qvHDKNPZ2HXFJ4HQo6OjfFVEszEh12dBY322EHxP6cHHnTZbz4uWfk5f5uPXusFs8PT7PbRWW5rkvlpAALU2YEE9wqBGe0c0JpxV0DjQKUjffOT9G_Wle7RmtlmZdaMQ4SfX1Grve94_aPAXNp3-OQxrW55WIqRS0arcZUs0_ZFHNO6Fsb9jtLMqFrgbU7ue1ObruT2_7IHUn4Q25T2Jj09S9ztWcCIv7mNZccRFN_AwHaiJs
CODEN ITDSEO
CitedBy_id crossref_primary_10_1109_TPDS_2024_3454203
crossref_primary_10_1109_TPDS_2020_3036190
crossref_primary_10_1145_3742900
crossref_primary_10_1007_s10009_024_00763_0
crossref_primary_10_1145_3466820
crossref_primary_10_1109_TIFS_2025_3581053
crossref_primary_10_1145_3565800
crossref_primary_10_1109_TSE_2023_3329667
Cites_doi 10.1145/2254064.2254091
10.1145/3106237.3106261
10.1145/199448.199462
10.1007/978-3-319-17524-9_1
10.1145/502034.502041
10.1007/978-3-642-19861-8_11
10.1145/3192366.3192378
10.1145/996841.996859
10.1145/1251535.1251543
10.1145/298514.298576
10.1145/2970276.2970298
10.1145/2568225.2568243
10.1145/3302516.3307352
10.1007/3-540-44898-5_16
10.1109/LICS.1997.614960
10.1109/TPDS.2020.3036190
10.1145/3302424.3303972
10.1145/3188720
10.1109/ICSM.2001.972787
10.1007/3-540-36579-6_12
10.1145/1869459.1869495
10.1145/3293606
10.1016/S1571-0653(04)00321-X
10.1145/1328438.1328464
10.1145/2882903.2915229
10.1145/3037697.3037744
10.1109/IPDPS.2019.00086
10.1145/258993.259006
10.14778/2212351.2212354
10.1145/1706299.1706307
10.1109/ICPP.2014.54
10.1007/978-3-642-37051-9_4
10.1145/1133981.1134027
10.1145/353171.353189
ContentType Journal Article
Copyright Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2021
Copyright_xml – notice: Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2021
DBID 97E
RIA
RIE
AAYXX
CITATION
7SC
7SP
8FD
JQ2
L7M
L~C
L~D
DOI 10.1109/TPDS.2020.3036190
DatabaseName IEEE All-Society Periodicals Package (ASPP) 2005–Present
IEEE All-Society Periodicals Package (ASPP) 1998–Present
IEEE Xplore
CrossRef
Computer and Information Systems Abstracts
Electronics & Communications Abstracts
Technology Research Database
ProQuest Computer Science Collection
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
DatabaseTitle CrossRef
Technology Research Database
Computer and Information Systems Abstracts – Academic
Electronics & Communications Abstracts
ProQuest Computer Science Collection
Computer and Information Systems Abstracts
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts Professional
DatabaseTitleList Technology Research Database

Database_xml – sequence: 1
  dbid: RIE
  name: IEEE/IET Electronic Library (IEL) (UW System Shared)
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Engineering
Computer Science
EISSN 1558-2183
EndPage 883
ExternalDocumentID 10_1109_TPDS_2020_3036190
9252147
Genre orig-research
GrantInformation_xml – fundername: National Key R&D Program of China
  grantid: 2019YFC1711000; 2017YFA0700604
– fundername: Collaborative Innovation Center of Novel Software Technology and Industrialization
– fundername: Natural Science Foundation of Jiangsu Province
  grantid: BK20170651; BK20191247
  funderid: 10.13039/501100004608
– fundername: China NSF
  grantid: 61802168; 61932021; 61702254; 62072230; U1811461
– fundername: Fundamental Research Funds for the Central Universities
  grantid: 14380065
  funderid: 10.13039/501100012226
GroupedDBID --Z
-~X
.DC
0R~
29I
4.4
5GY
6IK
97E
AAJGR
AARMG
AASAJ
AAWTH
ABAZT
ABQJQ
ABVLG
ACGFO
ACIWK
AENEX
AGQYO
AHBIQ
AKJIK
AKQYR
ALMA_UNASSIGNED_HOLDINGS
ASUFR
ATWAV
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CS3
DU5
EBS
EJD
HZ~
IEDLZ
IFIPE
IPLJI
JAVBF
LAI
M43
MS~
O9-
OCL
P2P
PQQKQ
RIA
RIE
RNS
TN5
TWZ
UHB
AAYXX
CITATION
7SC
7SP
8FD
JQ2
L7M
L~C
L~D
ID FETCH-LOGICAL-c293t-d541c160a4042c8e1da9dd48982d71781e57ffdf6efbcd3d7998c0f5980215ef3
IEDL.DBID RIE
ISICitedReferencesCount 12
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000594626600001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 1045-9219
IngestDate Sun Jun 29 15:40:12 EDT 2025
Tue Nov 18 22:18:34 EST 2025
Sat Nov 29 06:06:48 EST 2025
Wed Aug 27 02:27:31 EDT 2025
IsPeerReviewed true
IsScholarly true
Issue 4
Language English
License https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/IEEE.html
https://doi.org/10.15223/policy-029
https://doi.org/10.15223/policy-037
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c293t-d541c160a4042c8e1da9dd48982d71781e57ffdf6efbcd3d7998c0f5980215ef3
Notes ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ORCID 0000-0002-8123-9018
0000-0003-4794-1652
0000-0003-1806-0936
0000-0002-1565-9997
PQID 2465434798
PQPubID 85437
PageCount 17
ParticipantIDs ieee_primary_9252147
crossref_primary_10_1109_TPDS_2020_3036190
crossref_citationtrail_10_1109_TPDS_2020_3036190
proquest_journals_2465434798
PublicationCentury 2000
PublicationDate 2021-04-01
PublicationDateYYYYMMDD 2021-04-01
PublicationDate_xml – month: 04
  year: 2021
  text: 2021-04-01
  day: 01
PublicationDecade 2020
PublicationPlace New York
PublicationPlace_xml – name: New York
PublicationTitle IEEE transactions on parallel and distributed systems
PublicationTitleAbbrev TPDS
PublicationYear 2021
Publisher IEEE
The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
Publisher_xml – name: IEEE
– name: The Institute of Electrical and Electronics Engineers, Inc. (IEEE)
References mcsherry (ref29) 2015
ref15
ref52
ref11
blaß (ref49) 2019
ref17
ref16
reps (ref10) 1997
ref51
ref50
ref46
ref45
ref48
ref47
ref42
ref41
gonzalez (ref12) 2014
ref44
ref43
(ref34) 0
melski (ref19) 1997
ref8
ref7
ref9
ref4
ref3
ref6
ismail (ref40) 0
ref35
ref37
(ref20) 0
ref36
ref31
ref30
ref39
ref38
(ref33) 0
zhao (ref23) 2016
(ref1) 0
hamadi (ref18) 2012
(ref24) 0
ref26
wang (ref14) 2018
sharir (ref27) 1981
ref22
ref21
li (ref2) 2004
kyrola (ref13) 2012
ref28
(ref32) 0
johnson (ref5) 2013
(ref25) 0
References_xml – ident: ref46
  doi: 10.1145/2254064.2254091
– ident: ref30
  doi: 10.1145/3106237.3106261
– ident: ref8
  doi: 10.1145/199448.199462
– start-page: 31
  year: 2012
  ident: ref13
  article-title: GraphChi: Large-scale graph computation on just a PC
  publication-title: Proc 10th USENIX Conf Oper Syst Des Implementation
– year: 0
  ident: ref33
– ident: ref48
  doi: 10.1007/978-3-319-17524-9_1
– year: 0
  ident: ref34
– ident: ref3
  doi: 10.1145/502034.502041
– ident: ref45
  doi: 10.1007/978-3-642-19861-8_11
– year: 0
  ident: ref32
– start-page: 672
  year: 2013
  ident: ref5
  article-title: Why don't software developers use static analysis tools to find bugs?
  publication-title: Proc Int Conf Softw Eng
– ident: ref35
  doi: 10.1145/3192366.3192378
– ident: ref6
  doi: 10.1145/996841.996859
– start-page: 26:1
  year: 2016
  ident: ref23
  article-title: Towards ontology-based program analysis
  publication-title: Proc Europ Conf Object-Oriented Programming
– ident: ref51
  doi: 10.1145/1251535.1251543
– ident: ref15
  doi: 10.1145/298514.298576
– ident: ref41
  doi: 10.1145/2970276.2970298
– ident: ref38
  doi: 10.1145/2568225.2568243
– start-page: 189
  year: 1981
  ident: ref27
  article-title: Two approaches to interprocedural data flow analysis
  publication-title: Program Flow Analysis Theory and Applications
– start-page: 122
  year: 2019
  ident: ref49
  article-title: GPU-accelerated fixpoint algorithms for faster compiler analyses
  publication-title: Proc of the Int Conf on Compiler Construction
  doi: 10.1145/3302516.3307352
– ident: ref4
  doi: 10.1007/3-540-44898-5_16
– ident: ref36
  doi: 10.1109/LICS.1997.614960
– ident: ref21
  doi: 10.1109/TPDS.2020.3036190
– ident: ref28
  doi: 10.1145/3302424.3303972
– ident: ref47
  doi: 10.1145/3188720
– ident: ref39
  doi: 10.1109/ICSM.2001.972787
– ident: ref26
  doi: 10.1007/3-540-36579-6_12
– start-page: 5
  year: 1997
  ident: ref10
  article-title: Program analysis via graph reachability
  publication-title: Proc Int Symp Logic Program
– ident: ref43
  doi: 10.1145/1869459.1869495
– start-page: 2120
  year: 2012
  ident: ref18
  article-title: Seven challenges in parallel SAT solving
  publication-title: Proc 26th AAAI Conf Artif Intell
– ident: ref50
  doi: 10.1145/3293606
– ident: ref17
  doi: 10.1016/S1571-0653(04)00321-X
– start-page: 599
  year: 2014
  ident: ref12
  article-title: GraphX: Graph processing in a distributed dataflow framework
  publication-title: Proc 11th USENIX Conf Operating Syst Des Implementation
– year: 0
  ident: ref1
– ident: ref16
  doi: 10.1145/1328438.1328464
– ident: ref22
  doi: 10.1145/2882903.2915229
– year: 0
  ident: ref20
– ident: ref7
  doi: 10.1145/3037697.3037744
– ident: ref52
  doi: 10.1109/IPDPS.2019.00086
– year: 2015
  ident: ref29
  article-title: Scalability! But at what cost?
  publication-title: Proc 13th Usenix Conf Hot Topics in Operating Systems
– start-page: 20
  year: 2004
  ident: ref2
  article-title: CP-Miner: A tool for finding copy-paste and related bugs in operating system code
  publication-title: Proc 6th Conf Symp Opearting Syst Des Implementation
– start-page: 74
  year: 1997
  ident: ref19
  article-title: Interconveritibility of set constraints and context-free language reachability
  publication-title: Proc ACM SIGPLAN Symp Partial Eval Semantics-Based Program Manipulation
  doi: 10.1145/258993.259006
– ident: ref11
  doi: 10.14778/2212351.2212354
– ident: ref37
  doi: 10.1145/1706299.1706307
– ident: ref44
  doi: 10.1109/ICPP.2014.54
– ident: ref42
  doi: 10.1007/978-3-642-37051-9_4
– start-page: 763
  year: 2018
  ident: ref14
  article-title: RStream: Marrying relational algebra with streaming for efficient graph mining on a single machine
  publication-title: Proc 12th USENIX Symp Operating Syst Des Implementation
– year: 0
  ident: ref25
– ident: ref9
  doi: 10.1145/1133981.1134027
– year: 0
  ident: ref24
– ident: ref31
  doi: 10.1145/353171.353189
– year: 0
  ident: ref40
  article-title: Incremental call graph construction for the eclipse IDE
SSID ssj0014504
Score 2.3891506
Snippet Static program analysis has been widely applied along the whole process of the program development for bug detection, code optimization, testing, etc. Although...
SourceID proquest
crossref
ieee
SourceType Aggregation Database
Enrichment Source
Index Database
Publisher
StartPage 867
SubjectTerms Algorithms
Big Data
Computational modeling
Data analysis
data-parallel computation
distributed systems
Interprocedural static analysis
Optimization
Parallel processing
Performance evaluation
Scalability
Software
Static analysis
Task analysis
Time response
Title Towards Efficient Large-Scale Interprocedural Program Static Analysis on Distributed Data-Parallel Computation
URI https://ieeexplore.ieee.org/document/9252147
https://www.proquest.com/docview/2465434798
Volume 32
WOSCitedRecordID wos000594626600001&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: PRVIEE
  databaseName: IEEE/IET Electronic Library (IEL) (UW System Shared)
  customDbUrl:
  eissn: 1558-2183
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0014504
  issn: 1045-9219
  databaseCode: RIE
  dateStart: 19900101
  isFulltext: true
  titleUrlDefault: https://ieeexplore.ieee.org/
  providerName: IEEE
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1JSwMxFH5o8aAHq1WxbuTgSYzOkllyFFvxIFJoFW9DmryAIFPp4u83L5OWgiJ4G0gyBL552-Tl-wAudVHGFsn7pSi5yLTlKkfFc0Ns4BKN8Mpzr0_F83P59iYHG3C9uguDiL75DG_o0Z_lm4le0K-yW5lkJKuzCZtFkTd3tVYnBiLzUoGuusi4dGYYTjDjSN6OBr2hqwQTV6A6fx2T-12LQV5U5Ycn9uHlof2_je3Bbkgj2V2D-z5sYN2B9lKigQWL7cDOGt_gAdQj3yQ7Y31PHOHeyZ6oE5wPHVLIQgOii2iGyDjYoOndYpSQvmu25C9hk5r1iG-XpLLQsJ6aKz5QU1Jl-WDNHjzeh_Dy0B_dP_IguMC1i_pzbjIR6ziPlHCmrEuMjZLGiFKWiXFlXxljVlhrbI52rE1qCler6cg6UClzQJseQaue1HgMLHJjSiG67NMKqdNx5MZ1Xo5FnlqDsgvREoJKBzZyEsX4qHxVEsmKUKsItSqg1oWr1ZLPhorjr8kHBNNqYkCoC2dLnKtgrLMqEf6CbSHLk99XncJ2Qq0svmHnDFrz6QLPYUt_zd9n0wv_HX4DoBncRQ
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1bSyMxFD54A92H9Y7d9ZIHn8TYuWQueVy2FcVaClbxbUiTExBkKm3195uTSUtBWdi3gSRD4Jtzm5x8H8C5LsrYInm_FCUXmbZc5ah4bogNXKIRXnnuqVf0--XzsxyswOXiLgwi-uYzvKJHf5ZvxvqdfpW1ZZKRrM4qrGdCJFFzW2txZiAyLxbo6ouMS2eI4QwzjmR7OOg8uFowcSWq89gxOeClKORlVb74Yh9grrf_b2s78DMkkuxPg_wurGC9B9tzkQYWbHYPfiwxDu5DPfRtslPW9dQR7p2sR73g_MFhhSy0ILqYZoiOgw2a7i1GKemLZnMGEzauWYcYd0ksCw3rqJniAzUhXZZX1uzBI34Aj9fd4d8bHiQXuHZxf8ZNJmId55ESzph1ibFR0hhRyjIxrvArY8wKa43N0Y60SU3hqjUdWQcr5Q5o00NYq8c1HgGL3JhSiC7_tELqdBS5cZ2XI5Gn1qBsQTSHoNKBj5xkMV4rX5dEsiLUKkKtCqi14GKx5K0h4_jX5H2CaTExINSC4znOVTDXaZUIf8W2kOWv71edwebN8L5X9W77d79hK6HGFt--cwxrs8k7nsCG_pi9TCen_pv8BDoR34w
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=Towards+Efficient+Large-Scale+Interprocedural+Program+Static+Analysis+on+Distributed+Data-Parallel+Computation&rft.jtitle=IEEE+transactions+on+parallel+and+distributed+systems&rft.au=Gu%2C+Rong&rft.au=Zuo%2C+Zhiqiang&rft.au=Jiang%2C+Xi&rft.au=Yin%2C+Han&rft.date=2021-04-01&rft.pub=IEEE&rft.issn=1045-9219&rft.volume=32&rft.issue=4&rft.spage=867&rft.epage=883&rft_id=info:doi/10.1109%2FTPDS.2020.3036190&rft.externalDocID=9252147
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1045-9219&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1045-9219&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1045-9219&client=summon