An Abstraction Technique for Verifying Shared-Memory Concurrency
Modern concurrent and distributed software is highly complex. Techniques to reason about the correct behaviour of such software are essential to ensure its reliability. To be able to reason about realistic programs, these techniques must be modular and compositional as well as practical by being sup...
Saved in:
| Published in: | Applied sciences Vol. 10; no. 11; p. 3928 |
|---|---|
| Main Authors: | , , |
| Format: | Journal Article |
| Language: | English |
| Published: |
MDPI AG
01.06.2020
|
| Subjects: | |
| ISSN: | 2076-3417, 2076-3417 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | Modern concurrent and distributed software is highly complex. Techniques to reason about the correct behaviour of such software are essential to ensure its reliability. To be able to reason about realistic programs, these techniques must be modular and compositional as well as practical by being supported by automated tools. However, many existing approaches for concurrency verification are theoretical and focus primarily on expressivity and generality. This paper contributes a technique for verifying behavioural properties of concurrent and distributed programs that balances expressivity and usability. The key idea of the approach is that program behaviour is abstractly modelled using process algebra, and analysed separately. The main difficulty is presented by the typical abstraction gap between program implementations and their models. Our approach bridges this gap by providing a deductive technique for formally linking programs with their process-algebraic models. Our verification technique is modular and compositional, is proven sound with Coq, and has been implemented in the automated concurrency verifier VerCors. Moreover, our technique is demonstrated on multiple case studies, including the verification of a leader election protocol. |
|---|---|
| AbstractList | Modern concurrent and distributed software is highly complex. Techniques to reason about the correct behaviour of such software are essential to ensure its reliability. To be able to reason about realistic programs, these techniques must be modular and compositional as well as practical by being supported by automated tools. However, many existing approaches for concurrency verification are theoretical and focus primarily on expressivity and generality. This paper contributes a technique for verifying behavioural properties of concurrent and distributed programs that balances expressivity and usability. The key idea of the approach is that program behaviour is abstractly modelled using process algebra, and analysed separately. The main difficulty is presented by the typical abstraction gap between program implementations and their models. Our approach bridges this gap by providing a deductive technique for formally linking programs with their process-algebraic models. Our verification technique is modular and compositional, is proven sound with Coq, and has been implemented in the automated concurrency verifier VerCors. Moreover, our technique is demonstrated on multiple case studies, including the verification of a leader election protocol. Modern concurrent and distributed software is highly complex. Techniques to reason about the correct behaviour of such software are essential to ensure its reliability. To be able to reason about realistic programs, these techniques must be modular and compositional as well as practical by being supported by automated tools. However, many existing approaches for concurrency verification are theoretical and focus primarily on expressivity and generality. This paper contributes a technique for verifying behavioural properties of concurrent and distributed programs that balances expressivity and usability. The key idea of the approach is that program behaviour is abstractly modelled using process algebra, and analysed separately. The main difficulty is presented by the typical abstraction gap between program implementations and their models. Our approach bridges this gap by providing a deductive technique for formally linking programs with their process-algebraic models. Our verification technique is modular and compositional, is proven sound with Coq, and has been implemented in the automated concurrency verifier VerCors. Moreover, our technique is demonstrated on multiple case studies, including the verification of a leader election protocol. Keywords: concurrency verification; program logics; process algebra; code verification; abstraction |
| Audience | Academic |
| Author | Huisman, Marieke Oortwijn, Wytse Gurov, Dilian |
| Author_xml | – sequence: 1 givenname: Wytse orcidid: 0000-0002-5244-2519 surname: Oortwijn fullname: Oortwijn, Wytse – sequence: 2 givenname: Dilian orcidid: 0000-0002-0074-8786 surname: Gurov fullname: Gurov, Dilian – sequence: 3 givenname: Marieke orcidid: 0000-0003-4467-072X surname: Huisman fullname: Huisman, Marieke |
| BackLink | https://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-278787$$DView record from Swedish Publication Index (Kungliga Tekniska Högskolan) |
| BookMark | eNptkU9vEzEQxS1UJEroiS-wd7TFs_ba6xur8K9SEQeiXlfe8ThxSezg3Qjl2-M0VVUQnoNH4_d-I_m9ZhcxRWLsLfBrIQx_b_d74ADCNN0LdtlwrWohQV8861-xq2m65-UYEB3wS_ahj1U_TnO2OIcUqxXhJoZfB6p8ytUd5eCPIa6rHxubydXfaJfysVqmiIecKeLxDXvp7Xaiq8d7wVafP62WX-vb719ulv1tjRLEXLtRj2CdJaSGWi09wKgNybZR2qJBiU2rNXQAquFKjOhbV15a67iVWogFuzljXbL3wz6Hnc3HIdkwPAxSXg82zwG3NHRGt5KcMUZxKdw4dkjoFEj0VqoCX7D6zJp-0_4w_kX7GO76B9rPeTM0uitV9Ndn_doWfIg-nb6rlKNdwBKCD2XeK9FJ3mlliuHd2YA5TVMm_7QC-HDKaniWVVHDP2oMsz2lUdaE7X89fwA66Zhq |
| CitedBy_id | crossref_primary_10_32604_cmes_2021_017213 crossref_primary_10_1109_ACCESS_2021_3081742 crossref_primary_10_3390_app10249119 |
| Cites_doi | 10.1007/978-3-642-22110-1 10.1016/S0019-9958(84)80025-X 10.1007/978-3-642-14295-6 10.1007/978-3-319-72308-2_12 10.1109/TSE.1977.229904 10.1007/978-3-642-20398-5 10.1145/2676726.2676980 10.1093/comjnl/37.4.259 10.1145/2908080.2908118 10.1007/3-540-45949-9 10.7551/mitpress/9946.001.0001 10.1145/2807591.2807635 10.1145/78969.78972 10.1007/978-3-030-34968-4 10.1007/978-3-642-14107-2_24 10.4204/EPTCS.211.7 10.1007/978-3-540-74407-8 10.1145/69575.69577 10.1145/1040305.1040327 10.1007/978-3-030-39322-9 10.1016/j.tcs.2006.12.034 10.1007/BF00268134 10.1145/2500365.2500600 10.1145/1190216.1190235 10.1007/978-3-642-10672-9 10.1145/3127024.3127032 10.1007/978-3-540-74061-2 10.1109/ASE.2015.99 10.1007/978-3-540-74591-4 10.1016/j.tcs.2006.12.035 10.1007/978-1-84800-223-4 10.1007/978-3-540-78739-6 10.1007/978-3-662-49122-5 10.1145/2635631.2635849 10.1145/964001.964024 10.1145/2951913.2951943 10.1007/978-3-662-44202-9 |
| ContentType | Journal Article |
| Copyright | COPYRIGHT 2020 MDPI AG |
| Copyright_xml | – notice: COPYRIGHT 2020 MDPI AG |
| DBID | AAYXX CITATION ADTPV AFDQA AOWAS D8T D8V ZZAVC DOA |
| DOI | 10.3390/app10113928 |
| DatabaseName | CrossRef SwePub SWEPUB Kungliga Tekniska Högskolan full text SwePub Articles SWEPUB Freely available online SWEPUB Kungliga Tekniska Högskolan SwePub Articles full text DOAJ Directory of Open Access Journals |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | CrossRef |
| Database_xml | – sequence: 1 dbid: DOA name: DOAJ Directory of Open Access Journals url: https://www.doaj.org/ sourceTypes: Open Website |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Engineering Sciences (General) |
| EISSN | 2076-3417 |
| ExternalDocumentID | oai_doaj_org_article_89754ed9996043dbb8cecd614cfa4606 oai_DiVA_org_kth_278787 A638408769 10_3390_app10113928 |
| GeographicLocations | Switzerland |
| GeographicLocations_xml | – name: Switzerland |
| GroupedDBID | .4S 2XV 5VS 7XC 8CJ 8FE 8FG 8FH AADQD AAFWJ AAYXX ADBBV ADMLS AFFHD AFKRA AFPKN AFZYC ALMA_UNASSIGNED_HOLDINGS APEBS ARCSS BCNDV BENPR CCPQU CITATION CZ9 D1I D1J D1K GROUPED_DOAJ IAO IGS ITC K6- K6V KC. KQ8 L6V LK5 LK8 M7R MODMG M~E OK1 P62 PHGZM PHGZT PIMPY PROAC TUS ADTPV AFDQA AOWAS D8T D8V IPNFZ RIG ZZAVC |
| ID | FETCH-LOGICAL-c413t-db7b1adaece2e574f11b79e45267ac9c4c2577181162063bcf5d67a5ad0a4733 |
| IEDL.DBID | DOA |
| ISICitedReferencesCount | 5 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000543385900265&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 2076-3417 |
| IngestDate | Fri Oct 03 12:53:18 EDT 2025 Tue Nov 04 16:54:16 EST 2025 Tue Nov 04 17:13:14 EST 2025 Sat Nov 29 07:11:02 EST 2025 Tue Nov 18 22:34:28 EST 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 11 |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c413t-db7b1adaece2e574f11b79e45267ac9c4c2577181162063bcf5d67a5ad0a4733 |
| ORCID | 0000-0002-5244-2519 0000-0002-0074-8786 0000-0003-4467-072X |
| OpenAccessLink | https://doaj.org/article/89754ed9996043dbb8cecd614cfa4606 |
| ParticipantIDs | doaj_primary_oai_doaj_org_article_89754ed9996043dbb8cecd614cfa4606 swepub_primary_oai_DiVA_org_kth_278787 gale_infotracacademiconefile_A638408769 crossref_primary_10_3390_app10113928 crossref_citationtrail_10_3390_app10113928 |
| PublicationCentury | 2000 |
| PublicationDate | 2020-06-01 |
| PublicationDateYYYYMMDD | 2020-06-01 |
| PublicationDate_xml | – month: 06 year: 2020 text: 2020-06-01 day: 01 |
| PublicationDecade | 2020 |
| PublicationTitle | Applied sciences |
| PublicationYear | 2020 |
| Publisher | MDPI AG |
| Publisher_xml | – name: MDPI AG |
| References | Paskevich (ref_14) 2017; Volume 10712 ref_58 ref_13 ref_57 ref_12 ref_11 ref_55 ref_10 ref_54 Herlihy (ref_70) 1990; 12 ref_52 ref_19 (ref_2) 2010; Volume 6183 ref_18 ref_17 ref_16 ref_15 ref_59 Sergey (ref_6) 2017; 2 Lamport (ref_22) 1977; SE-3 ref_61 (ref_24) 2007; 375 Shao (ref_51) 2014; Volume 8410 ref_25 ref_68 ref_66 ref_21 ref_65 ref_20 ref_64 ref_63 ref_62 Brookes (ref_23) 2007; 375 Owicki (ref_26) 1975; 6 ref_29 ref_27 Cousot (ref_36) 2003; Volume 2694 Yang (ref_56) 2017; Volume 10201 ref_71 Vitek (ref_69) 2015; Volume 9032 ref_35 ref_34 ref_33 ref_31 Polikarpova (ref_8) 2017; Volume 10510 Krishna (ref_72) 2017; 2 ref_73 Fokkink (ref_32) 1994; 37 ref_39 ref_38 ref_37 Jones (ref_28) 1983; 5 ref_47 Hinrichsen (ref_60) 2019; 4 ref_46 ref_45 ref_44 ref_43 Calinescu (ref_67) 2015; Volume 9276 ref_42 ref_41 ref_40 ref_1 Bergstra (ref_30) 1984; 60 ref_3 ref_49 ref_48 ref_9 Egyed (ref_50) 2015; Volume 9033 ref_5 ref_4 ref_7 Feng (ref_53) 2009; Volume 44 |
| References_xml | – ident: ref_9 – ident: ref_63 doi: 10.1007/978-3-642-22110-1 – ident: ref_49 – volume: 60 start-page: 109 year: 1984 ident: ref_30 article-title: Process algebra for Synchronous Communication publication-title: Inf. Control doi: 10.1016/S0019-9958(84)80025-X – ident: ref_71 doi: 10.1007/978-3-642-14295-6 – volume: Volume 10712 start-page: 191 year: 2017 ident: ref_14 article-title: An Abstraction Technique for Describing Concurrent Program Behaviour publication-title: Proceedings of the Verified Software: Theories, Tools, and Experiments (VSTTE), Heidelberg, Germany, 22–23 July 2017 doi: 10.1007/978-3-319-72308-2_12 – ident: ref_39 – volume: SE-3 start-page: 125 year: 1977 ident: ref_22 article-title: Proving the Correctness of Multiprocess Programs publication-title: IEEE Trans. Softw. Eng. doi: 10.1109/TSE.1977.229904 – ident: ref_1 – ident: ref_35 – volume: 2 start-page: 1 year: 2017 ident: ref_72 article-title: Go with the Flow: Compositional Abstractions for Concurrent Data Structures publication-title: Princ. Programm. Lang. – ident: ref_7 doi: 10.1007/978-3-642-20398-5 – ident: ref_58 – ident: ref_54 doi: 10.1145/2676726.2676980 – volume: 37 start-page: 259 year: 1994 ident: ref_32 article-title: Basic Process Algebra with Iteration: Completeness of its Equational Axioms publication-title: Comput. J. doi: 10.1093/comjnl/37.4.259 – ident: ref_45 doi: 10.1145/2908080.2908118 – ident: ref_4 – ident: ref_13 doi: 10.1007/3-540-45949-9 – ident: ref_31 – ident: ref_27 – ident: ref_52 – ident: ref_21 doi: 10.7551/mitpress/9946.001.0001 – ident: ref_48 – ident: ref_62 doi: 10.1145/2807591.2807635 – volume: 12 start-page: 463 year: 1990 ident: ref_70 article-title: Linearizability: A Correctness Condition for Concurrent Objects publication-title: Trans. Programm. Lang. Syst. doi: 10.1145/78969.78972 – ident: ref_41 – ident: ref_17 doi: 10.1007/978-3-030-34968-4 – volume: Volume 9033 start-page: 202 year: 2015 ident: ref_50 article-title: Verification of Loop Parallelisations publication-title: Proceedings of the Fundamental Approaches to Software Engineering (FASE), London, UK, 11–18 April 2015 – ident: ref_66 – volume: Volume 8410 start-page: 149 year: 2014 ident: ref_51 article-title: Impredicative Concurrent Abstract Predicates publication-title: Proceedings of the European Symposium on Programming (ESOP), Grenoble, France, 5–13 April 2014 – volume: Volume 2694 start-page: 55 year: 2003 ident: ref_36 article-title: Checking Interference with Fractional Permissions publication-title: Proceedings of the Static Analysis (SAS), San Diego, CA, USA, 11–13 June 2003 – volume: Volume 6183 start-page: 504 year: 2010 ident: ref_2 article-title: Concurrent Abstract Predicates publication-title: Proceedings of the European Conference on Object-Oriented Programming (ECOOP), Maribor, Slovenia, 21–25 June 2010 doi: 10.1007/978-3-642-14107-2_24 – ident: ref_46 doi: 10.4204/EPTCS.211.7 – ident: ref_55 doi: 10.1007/978-3-540-74407-8 – volume: 5 start-page: 596 year: 1983 ident: ref_28 article-title: Tentative Steps Toward a Development Method for Interfering Programs publication-title: Trans. Programm. Lang. Syst. doi: 10.1145/69575.69577 – ident: ref_37 doi: 10.1145/1040305.1040327 – ident: ref_59 – ident: ref_16 doi: 10.1007/978-3-030-39322-9 – volume: 375 start-page: 227 year: 2007 ident: ref_23 article-title: A Semantics for Concurrent Separation Logic publication-title: Theor. Comput. Sci. doi: 10.1016/j.tcs.2006.12.034 – volume: Volume 9276 start-page: 84 year: 2015 ident: ref_67 article-title: History-Based Verification of Functional Behaviour of Concurrent Programs publication-title: Proceedings of the Software Engineering and Formal Methods (SEFM) – volume: 6 start-page: 319 year: 1975 ident: ref_26 article-title: An Axiomatic Proof Technique for Parallel Programs publication-title: Acta Inform. doi: 10.1007/BF00268134 – ident: ref_34 – volume: Volume 9032 start-page: 333 year: 2015 ident: ref_69 article-title: Specifying and Verifying Concurrent Algorithms with Histories and Subjectivity publication-title: Proceedings of the European Symposium on Programming (ESOP) – ident: ref_47 – ident: ref_11 – ident: ref_3 doi: 10.1145/2500365.2500600 – ident: ref_43 doi: 10.1145/1190216.1190235 – ident: ref_57 doi: 10.1007/978-3-642-10672-9 – ident: ref_65 doi: 10.1145/3127024.3127032 – ident: ref_18 – ident: ref_44 – ident: ref_61 doi: 10.1007/978-3-540-74061-2 – ident: ref_64 doi: 10.1109/ASE.2015.99 – ident: ref_73 – ident: ref_40 doi: 10.1007/978-3-540-74591-4 – volume: 4 start-page: 1 year: 2019 ident: ref_60 article-title: Actris: Session-Type Based Reasoning in Separation Logic publication-title: Proc. ACM Programm. Lang. – volume: 375 start-page: 271 year: 2007 ident: ref_24 article-title: Resources, Concurrency and Local Reasoning publication-title: Theor. Comput. Sci. doi: 10.1016/j.tcs.2006.12.035 – ident: ref_20 doi: 10.1007/978-1-84800-223-4 – ident: ref_25 – ident: ref_42 doi: 10.1007/978-3-540-78739-6 – ident: ref_33 – ident: ref_10 doi: 10.1007/978-3-662-49122-5 – volume: 2 start-page: 1 year: 2017 ident: ref_6 article-title: Programming and Proving with Distributed Protocols publication-title: Princ. Programm. Lang. – ident: ref_12 – volume: Volume 10201 start-page: 696 year: 2017 ident: ref_56 article-title: The Essence of Higher-Order Concurrent Separation Logic publication-title: Proceedings of the European Symposium on Programming (ESOP) – ident: ref_68 doi: 10.1145/2635631.2635849 – ident: ref_38 doi: 10.1145/964001.964024 – ident: ref_29 doi: 10.1145/2951913.2951943 – ident: ref_15 doi: 10.1007/978-3-030-34968-4 – volume: Volume 10510 start-page: 102 year: 2017 ident: ref_8 article-title: The VerCors Tool Set: Verification of Parallel and Concurrent Software publication-title: Proceedings of the International Conference on Integrated Formal Methods (iFM), Torino, Italy, 20–22 September 2017 – ident: ref_5 doi: 10.1007/978-3-662-44202-9 – ident: ref_19 – volume: Volume 44 start-page: 315 year: 2009 ident: ref_53 article-title: Local Rely-Guarantee Reasoning publication-title: Proceedings of the Principles of Programming Languages (POPL) |
| SSID | ssj0000913810 |
| Score | 2.1806514 |
| Snippet | Modern concurrent and distributed software is highly complex. Techniques to reason about the correct behaviour of such software are essential to ensure its... |
| SourceID | doaj swepub gale crossref |
| SourceType | Open Website Open Access Repository Aggregation Database Enrichment Source Index Database |
| StartPage | 3928 |
| SubjectTerms | Abstraction Analysis code verification Collective memory concurrency verification Concurrent programming Methods Multitasking process algebra program logics Verification (Logic) |
| Title | An Abstraction Technique for Verifying Shared-Memory Concurrency |
| URI | https://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-278787 https://doaj.org/article/89754ed9996043dbb8cecd614cfa4606 |
| Volume | 10 |
| WOSCitedRecordID | wos000543385900265&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: PRVAON databaseName: DOAJ Directory of Open Access Journals customDbUrl: eissn: 2076-3417 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0000913810 issn: 2076-3417 databaseCode: DOA dateStart: 20110101 isFulltext: true titleUrlDefault: https://www.doaj.org/ providerName: Directory of Open Access Journals – providerCode: PRVHPJ databaseName: ROAD: Directory of Open Access Scholarly Resources customDbUrl: eissn: 2076-3417 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0000913810 issn: 2076-3417 databaseCode: M~E dateStart: 20110101 isFulltext: true titleUrlDefault: https://road.issn.org providerName: ISSN International Centre – providerCode: PRVPQU databaseName: ProQuest Central customDbUrl: eissn: 2076-3417 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0000913810 issn: 2076-3417 databaseCode: BENPR dateStart: 20110101 isFulltext: true titleUrlDefault: https://www.proquest.com/central providerName: ProQuest – providerCode: PRVPQU databaseName: Publicly Available Content Database customDbUrl: eissn: 2076-3417 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0000913810 issn: 2076-3417 databaseCode: PIMPY dateStart: 20110101 isFulltext: true titleUrlDefault: http://search.proquest.com/publiccontent providerName: ProQuest |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwrZ1LT9wwEIBHFeXQHlB5qdsH8gFRqBQRJ04c35pSUJEK2sNqRU-RPXYEAoUKlkr8-844YRWkSr30mjixMxPPw4m_AdilIBcLHaok1UgJSkgxsapME6e0LXOyfz4u5sx_6PPz6uLCTEelvvifsB4P3AvusDK6UMGbSBHJvXMVBvTkVLDlm0bYdqrNKJmKNthIRlf1G_Jyyuv5ezC9fRTvcN31kQuKpP6lPX6GC40u5uQNrA2xoaj7Ma3Di9BtwOsRMXAD1oe5eC_2B2D0wSZ8qTtRO16ziJsUxOyJyyooIhVzujRuZhIMZw4-OeOfax_F0W2HEc6Ej1swOzmeHX1PhsoICZLTWSTeaSettwFDFgqtWimdNoHLhWuLBhXSTCSvI2WZUQzisC08nSmsT63Seb4NK91tF96CyFLTemkVVpgpzK3JWlkGl1qUPs9sOYHPT7JqcKCGc_GKm4ayBxZsMxLsBHaXjX_1sIy_N_vKQl82YcJ1PEB6bwa9N__S-wQ-scoanocsXztsJ6DHYqJVU5NhUczbMxPY67X6rMNvV_M6dni9uGwyMluVfvc_xvUeXmWckseFmg-wsrh7CB9hFX8vru7vduJbugMvp6dn059_AE6B7Xk |
| linkProvider | Directory of Open Access Journals |
| 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=An+Abstraction+Technique+for+Verifying+Shared-Memory+Concurrency&rft.jtitle=Applied+sciences&rft.au=Wytse+Oortwijn&rft.au=Dilian+Gurov&rft.au=Marieke+Huisman&rft.date=2020-06-01&rft.pub=MDPI+AG&rft.eissn=2076-3417&rft.volume=10&rft.issue=11&rft.spage=3928&rft_id=info:doi/10.3390%2Fapp10113928&rft.externalDBID=DOA&rft.externalDocID=oai_doaj_org_article_89754ed9996043dbb8cecd614cfa4606 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2076-3417&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2076-3417&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2076-3417&client=summon |