Go2Pins: a framework for the LTL verification of Go programs (extended version)

We introduce Go2Pins, a tool that takes a program written in Go and links it with two model checkers: LTSMin (Kant et al. Ltsmin: high-performance language-independent model checking. In: TACAS’15, pp. 692–707, 2015) and Spot (Duret-Lutz et al. Spot 2.0-a framework for LTL and ω automata manipulatio...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:International journal on software tools for technology transfer Ročník 25; číslo 1; s. 77 - 94
Hlavní autoři: Kirszenberg, Alexandre, Martin, Antoine, Moreau, Hugo, Renault, Etienne
Médium: Journal Article
Jazyk:angličtina
Vydáno: Berlin/Heidelberg Springer Berlin Heidelberg 01.02.2023
Springer Nature B.V
Témata:
ISSN:1433-2779, 1433-2787
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Abstract We introduce Go2Pins, a tool that takes a program written in Go and links it with two model checkers: LTSMin (Kant et al. Ltsmin: high-performance language-independent model checking. In: TACAS’15, pp. 692–707, 2015) and Spot (Duret-Lutz et al. Spot 2.0-a framework for LTL and ω automata manipulation. In: ATVA’16, vol. 9938 of LNCS, pp. 1294, 122–129, 2016) . Go2Pins is an effort to promote the integration of both formal verification and testing inside industrial-size projects. With this goal in mind, we introduce black-box transitions , an efficient and scalable technique for handling the Go runtime. This approach, inspired by hardware verification techniques, allows easy, automatic and efficient abstractions. Go2Pins also handles basic concurrent programs through the use of a dedicated scheduler. Moreover, in order to efficiently handle recursive programs, we introduce PSL R E C , a formalism that augments PSL without changing the complexity of the underlying verification process. In this paper we demonstrate the usage of Go2Pins over benchmarks inspired by industrial problems and a set of LTL formulae. Even if Go2Pins is still at the early stages of development, our results are promising and show the benefits of using black-box transitions. This paper also shows how Go2Pins is able to work efficiently on two bugs coming from industrial problems Kubernetes and Trillian.
AbstractList We introduce Go2Pins, a tool that takes a program written in Go and links it with two model checkers: LTSMin (Kant et al. Ltsmin: high-performance language-independent model checking. In: TACAS’15, pp. 692–707, 2015) and Spot (Duret-Lutz et al. Spot 2.0-a framework for LTL and ω automata manipulation. In: ATVA’16, vol. 9938 of LNCS, pp. 1294, 122–129, 2016) . Go2Pins is an effort to promote the integration of both formal verification and testing inside industrial-size projects. With this goal in mind, we introduce black-box transitions , an efficient and scalable technique for handling the Go runtime. This approach, inspired by hardware verification techniques, allows easy, automatic and efficient abstractions. Go2Pins also handles basic concurrent programs through the use of a dedicated scheduler. Moreover, in order to efficiently handle recursive programs, we introduce PSL R E C , a formalism that augments PSL without changing the complexity of the underlying verification process. In this paper we demonstrate the usage of Go2Pins over benchmarks inspired by industrial problems and a set of LTL formulae. Even if Go2Pins is still at the early stages of development, our results are promising and show the benefits of using black-box transitions. This paper also shows how Go2Pins is able to work efficiently on two bugs coming from industrial problems Kubernetes and Trillian.
We introduce Go2Pins, a tool that takes a program written in Go and links it with two model checkers: LTSMin (Kant et al. Ltsmin: high-performance language-independent model checking. In: TACAS’15, pp. 692–707, 2015) and Spot (Duret-Lutz et al. Spot 2.0-a framework for LTL and ω automata manipulation. In: ATVA’16, vol. 9938 of LNCS, pp. 1294, 122–129, 2016) . Go2Pins is an effort to promote the integration of both formal verification and testing inside industrial-size projects. With this goal in mind, we introduce black-box transitions, an efficient and scalable technique for handling the Go runtime. This approach, inspired by hardware verification techniques, allows easy, automatic and efficient abstractions. Go2Pins also handles basic concurrent programs through the use of a dedicated scheduler. Moreover, in order to efficiently handle recursive programs, we introduce PSLREC, a formalism that augments PSL without changing the complexity of the underlying verification process. In this paper we demonstrate the usage of Go2Pins over benchmarks inspired by industrial problems and a set of LTL formulae. Even if Go2Pins is still at the early stages of development, our results are promising and show the benefits of using black-box transitions. This paper also shows how Go2Pins is able to work efficiently on two bugs coming from industrial problems Kubernetes and Trillian.
Author Moreau, Hugo
Renault, Etienne
Kirszenberg, Alexandre
Martin, Antoine
Author_xml – sequence: 1
  givenname: Alexandre
  surname: Kirszenberg
  fullname: Kirszenberg, Alexandre
  organization: EPITA Research Laboratory (LRE)
– sequence: 2
  givenname: Antoine
  orcidid: 0000-0002-3263-7669
  surname: Martin
  fullname: Martin, Antoine
  organization: EPITA Research Laboratory (LRE)
– sequence: 3
  givenname: Hugo
  surname: Moreau
  fullname: Moreau, Hugo
  organization: EPITA Research Laboratory (LRE)
– sequence: 4
  givenname: Etienne
  orcidid: 0000-0001-9013-4413
  surname: Renault
  fullname: Renault, Etienne
  email: etienne.renault@epita.fr
  organization: EPITA Research Laboratory (LRE)
BookMark eNp9kMtOAjEUhhuDiYC-gKsmbnRR7YVpp-4MUTSZBBe4bjqdFgdhiu0g-vYWxmjigk1PF993Lv8A9BrfWADOCb4mGIubmF4sEaYUYcwlRdsj0CcjxhAVuej9_oU8AYMYFxgTwYXsg-nE0-e6ibdQQxf0ym59eIPOB9i-WljMCvhhQ-1qo9vaN9A7OPFwHfw8sRFe2s_WNpWtdlRMwNUpOHZ6Ge3ZTx2Cl4f72fgRFdPJ0_iuQIZJ0SLHuGPC5li4SpYjpjXnuMxJxWnJSmmso4Y4V1a00lmmdekkZ1mOZcZzUzLDhuCi65t2ed_Y2KqF34QmjVTp4pHAAhOaqLyjTPAxBuuUqdv9JW3Q9VIRrHbxqS4-leJT-_jUNqn0n7oO9UqHr8MS66SY4GZuw99WB6xv2WyE6A
CitedBy_id crossref_primary_10_1007_s10009_023_00698_y
Cites_doi 10.1109/SANER.2019.8668036
10.1007/978-3-030-50029-0_9
10.1007/3-540-58179-0_69
10.1023/A:1022920129859
10.1007/3-540-53863-1_36
10.1007/978-3-319-49052-6_2
10.4204/EPTCS.314.4
10.1007/s10009-014-0363-9
10.1145/361227.361234
10.1007/BFb0016204
10.1145/3093333.3009847
10.1145/3180155.3180157
10.1007/978-3-662-46681-0_61
10.1007/978-3-030-84629-9_8
10.1007/s10009-019-00519-1
10.1007/978-3-319-23404-5_6
10.1145/3297858.3304069
10.1145/2635868.2635922
10.1007/978-3-319-77935-5_20
10.1145/93385.93442
10.1007/978-3-319-46520-3_8
10.1109/ASE51524.2021.9678571
10.1007/978-3-642-33386-6_22
10.1145/2892208.2892232
10.1109/CGO51591.2021.9370317
ContentType Journal Article
Copyright The Author(s), under exclusive licence to Springer-Verlag GmbH Germany, part of Springer Nature 2023. Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
Copyright_xml – notice: The Author(s), under exclusive licence to Springer-Verlag GmbH Germany, part of Springer Nature 2023. Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
DBID 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-022-00692-w
DatabaseName 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)
Research Library (Alumni Edition)
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
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 (subscription)
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)
ProQuest 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
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 94
ExternalDocumentID 10_1007_s10009_022_00692_w
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
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-c397t-f36f37e807fd9b43aa660b81d62b3b9cef2c1ffbd2da55aabf9635809568cb3c3
IEDL.DBID M7S
ISICitedReferencesCount 2
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000912379900001&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 00:49:00 EST 2025
Tue Nov 18 22:05:38 EST 2025
Sat Nov 29 03:07:49 EST 2025
Fri Feb 21 02:45:40 EST 2025
IsDoiOpenAccess false
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Issue 1
Keywords Abstractions
PSL
Golang model-checking
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c397t-f36f37e807fd9b43aa660b81d62b3b9cef2c1ffbd2da55aabf9635809568cb3c3
Notes ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ORCID 0000-0002-3263-7669
0000-0001-9013-4413
OpenAccessLink https://hal.science/hal-04580383
PQID 2784707012
PQPubID 46652
PageCount 18
ParticipantIDs proquest_journals_2784707012
crossref_citationtrail_10_1007_s10009_022_00692_w
crossref_primary_10_1007_s10009_022_00692_w
springer_journals_10_1007_s10009_022_00692_w
PublicationCentury 2000
PublicationDate 2023-02-01
PublicationDateYYYYMMDD 2023-02-01
PublicationDate_xml – month: 02
  year: 2023
  text: 2023-02-01
  day: 01
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 2023
Publisher Springer Berlin Heidelberg
Springer Nature B.V
Publisher_xml – name: Springer Berlin Heidelberg
– name: Springer Nature B.V
References Godefroid, P.: Between testing and verification: Dynamic software model checking. In DSSE’16 45, pp. 99–116 (2016)
Liu, Z., Zhu, S., Qin, B., Chen, H., Song, L.: Automatically detecting and fixing concurrency bugs in go software systems. In: International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) 11, pp. 2227–2240 (2016)
Holzmann, G.J.: The Spin Model Checker: Primer and Reference Manual. Addison-Wesley (2003)
Dilley,N., Lange, J.: Automated verification of go programs via bounded model checking. In 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 1016–1027, (2021)
Ray, B., Posnett, D., Filkov, V., Devanbu, P.: A large scale study of programming languages and code quality in github. In SIGSOFT’14, pp. 155–165, (2014)
Lange,J., Ng, N., Toninho, B., Yoshida, N.: A static verification framework for message passing in Go using behavioural Types. In CSE’18, pp. 1137–1148. ACM, (2018)
Berthomieu, B., Le Botlan, D., Dal Zilio, S.: Counting Petri net markings from reduction equations. Int. J. Softw. Tools Technol. Transf. (2019)
Dilley, N., Lange, J.: An empirical study of messaging passing concurrency in go projects. In 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER’19), pp. 377–387, (2019)
HoareCARCommunicating Sequential Processes1985USAPrentice-Hall Inc0637.68007
Kant, G., Laarman, A., Meijer, J., van de Pol, J., Blom, S., van Dijk, T.: Ltsmin: high-performance language-independent model checking. In TACAS’15, pp. 692–707, April (2015)
Tu, T., Liu, X., Song, L., Zhang, Y.: Understanding real-world concurrency bugs in go. In ASPLOS’19, pp. 865–878, (2019)
GitHub repository. Java2Go: Convert Java code to something like Go. https://github.com/dglo/java2go, (2020)
Eisner, C., Fisman, D.: A Practical Introduction to PSL. Springer, Series on Integrated Circuits and Systems (2006)
Manna, Z., Pnueli, A.: A hierarchy of temporal properties. In PODC’90, pp. 377–410, (1990) ACM
Berthelot, G.: Checking properties of nets using transformation. In Applications and Theory in Petri Nets, vol. 222 of LNCS, pp. 19–40. Springer, (1985)
Zhong,C., Zhao, Q., Liu, X.: Bingo: Pinpointing concurrency bugs in go via binary analysis, (2022)
GitHub repository. Transpiling fortran code to golang code. https://github.com/Konstantin8105/f4go, (2020)
Baranova, Z., Barnat, J., Kejstova, K., Kucera, T., Lauko, H., Mrazek, J., Rockai, P., Still, V.: Model checking of C and C++ with DIVINE 4. In ATVA’17, vol. 10482 of LNCS, pp. 201–207. Springer, (2017)
Duret-Lutz, A., Lewkowicz, A., Fauchille, A., Michaud, T., Renault, E., Xu, L.: Spot 2.0 — a framework for LTL and ω\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\omega $$\end{document}-automata manipulation. In ATVA’16, vol. 9938 of LNCS, pp. 122–129. Springer, Oct. (2016)
Peled, D.: Combining partial order reductions with on-the-fly model-checking. In CAV’94, vol. 818 of LNCS, pp. 377–390. Springer, (1994)
Evangelista, S., Laarman, A., Petrucci, L., van de Pol, J.: Improved multi-core nested depth-first search. In ATVA’12, vol. 7561 of LNCS, pp. 269–283. Springer, (2012)
GitHub repository. Trillian preload bug. https://github.com/kubernetes/kubernetes/blob/d70ee902fddc682863a3cc4f0d8eac0223ebf70b/test/e2e/storage/vsphere/nodemapper.go#L62
Valmari, A.: Stubborn sets for reduced state space generation. In ICATPN’91, vol. 618 of LNCS, pp. 491–515, (1991) Springer
Kirszenberg,A., Martin, A., Moreau, H., Renault, E.: Go2Pins: a framework for the LTL verification of Go programs. In SPIN’21, vol. 12864 of LNCS, pp. 140–156, May (2021) Springer
Laarman,A.: Stubborn transaction reduction. In NFM, vol. 10811 of LNCS, pp. 280–298. Springer, (2018)
Bloemen, V., van de Pol, J.: Multi-core scc-based ltl model checking. In HVC’16, vol. 10028 of LNCS, pp. 18–33. Springer, Nov. (2016)
Yuan, T., Li, G., Lu, J., Liu, C., Li, L., Xue, J.: Gobench: A benchmark suite of real-world go concurrency bugs. In 2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pp. 187–199, (2021)
DilleyNLangeJBounded verification of message-passing concurrency in go using promela and spinElectr. Proc. Theor. Comput. Sci.2020314344510.4204/EPTCS.314.4
Ng, N., Yoshida, N.: Static deadlock detection for concurrent go by global session graph synthesis. In CCC’16, pp. 174–184. ACM, (2016)
RERS challenge. Rigorous examination of reactive systems (RERS). http://rers-challenge.org/2019/, (2019)
Dekker, J., Vaandrager, F., Smetsers, R.: Generating a google go framework from an uppaal model. Master’s thesis. Radboud University (2014)
Griesemer,R., Pike, R., Thompson, K., Taylor, I., Cox, R., Kim, J., Langley, A.: Hey! ho! let’s go! https://opensource.googleblog.com/2009/11/hey-ho-lets-go.html, (2009)
Laarman, A., Pater, E., van de Pol, J., Hansen, H.: Guard-based partial-order reduction. Int. J. Softw. Tools Technol. Transf. 1–22, (2014)
GitHub repository. C2Go: Migrate from C to Go. https://godoc.org/rsc.io/c2go, (2020)
Zaks, A., Joshi, R.: Verifying Multi-threaded C Programs with SPIN. In SPIN’08, pp. 94–107, (2008)
GitHub repository. Go Compiler. https://github.com/golang/go/blob/04fb929a5b7991ed0945d05ab8015c1721958d82/src/go/types/stmt.go#L67-L69
Blahoudek, F., Duret-Lutz, A., Rujbr, V., Strejček, J.: On refinement of Büchi automata for explicit model checking. In SPIN’15, vol. 9232 of LNCS, pp. 66–83. Springer, Aug. (2015)
LiptonRJReduction: a method of proving properties of parallel programsCommun. ACM1975181271772140076910.1145/361227.3612340316.68015
GitHub repository. C4Go: Transpiling C code to Go code. https://github.com/Konstantin8105/c4go, (2020)
GitHub repository. Kubernetes generate node map bug. https://github.com/kubernetes/kubernetes/blob/d70ee902fddc682863a3cc4f0d8eac0223ebf70b/test/e2e/storage/vsphere/nodemapper.godd#L62
GitHub repository. Grumpy: Go running Python. https://github.com/google/grumpy, (2020)
Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model Checking Programs. In ASE’03 10, pp. 203–232 (2018)
Giunti, M.: Gopi: Compiling linear and static channels in go. In Coordination Models and Languages, pp. 137–152, (2020) Springer
Lange,J., Ng, N., Toninho, B., Yoshida, N.: Fencing off Go: Liveness and Safety for Channel-based Programming. In POPL’17, pp. 748–761. ACM, (2017)
692_CR29
692_CR28
692_CR27
692_CR26
692_CR25
692_CR23
692_CR11
692_CR33
692_CR10
692_CR31
692_CR30
N Dilley (692_CR8) 2020; 314
CAR Hoare (692_CR24) 1985
RJ Lipton (692_CR32) 1975; 18
692_CR19
692_CR18
692_CR17
692_CR39
692_CR16
692_CR38
692_CR15
692_CR37
692_CR14
692_CR36
692_CR13
692_CR35
692_CR12
692_CR34
692_CR22
692_CR44
692_CR21
692_CR43
692_CR2
692_CR20
692_CR42
692_CR1
692_CR41
692_CR4
692_CR40
692_CR3
692_CR6
692_CR5
692_CR7
692_CR9
References_xml – reference: Blahoudek, F., Duret-Lutz, A., Rujbr, V., Strejček, J.: On refinement of Büchi automata for explicit model checking. In SPIN’15, vol. 9232 of LNCS, pp. 66–83. Springer, Aug. (2015)
– reference: Yuan, T., Li, G., Lu, J., Liu, C., Li, L., Xue, J.: Gobench: A benchmark suite of real-world go concurrency bugs. In 2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), pp. 187–199, (2021)
– reference: GitHub repository. Trillian preload bug. https://github.com/kubernetes/kubernetes/blob/d70ee902fddc682863a3cc4f0d8eac0223ebf70b/test/e2e/storage/vsphere/nodemapper.go#L62
– reference: GitHub repository. Go Compiler. https://github.com/golang/go/blob/04fb929a5b7991ed0945d05ab8015c1721958d82/src/go/types/stmt.go#L67-L69
– reference: Evangelista, S., Laarman, A., Petrucci, L., van de Pol, J.: Improved multi-core nested depth-first search. In ATVA’12, vol. 7561 of LNCS, pp. 269–283. Springer, (2012)
– reference: GitHub repository. C4Go: Transpiling C code to Go code. https://github.com/Konstantin8105/c4go, (2020)
– reference: Dilley, N., Lange, J.: An empirical study of messaging passing concurrency in go projects. In 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER’19), pp. 377–387, (2019)
– reference: Liu, Z., Zhu, S., Qin, B., Chen, H., Song, L.: Automatically detecting and fixing concurrency bugs in go software systems. In: International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) 11, pp. 2227–2240 (2016)
– reference: Baranova, Z., Barnat, J., Kejstova, K., Kucera, T., Lauko, H., Mrazek, J., Rockai, P., Still, V.: Model checking of C and C++ with DIVINE 4. In ATVA’17, vol. 10482 of LNCS, pp. 201–207. Springer, (2017)
– reference: Eisner, C., Fisman, D.: A Practical Introduction to PSL. Springer, Series on Integrated Circuits and Systems (2006)
– reference: Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model Checking Programs. In ASE’03 10, pp. 203–232 (2018)
– reference: RERS challenge. Rigorous examination of reactive systems (RERS). http://rers-challenge.org/2019/, (2019)
– reference: GitHub repository. Transpiling fortran code to golang code. https://github.com/Konstantin8105/f4go, (2020)
– reference: Kirszenberg,A., Martin, A., Moreau, H., Renault, E.: Go2Pins: a framework for the LTL verification of Go programs. In SPIN’21, vol. 12864 of LNCS, pp. 140–156, May (2021) Springer
– reference: Holzmann, G.J.: The Spin Model Checker: Primer and Reference Manual. Addison-Wesley (2003)
– reference: Tu, T., Liu, X., Song, L., Zhang, Y.: Understanding real-world concurrency bugs in go. In ASPLOS’19, pp. 865–878, (2019)
– reference: Zhong,C., Zhao, Q., Liu, X.: Bingo: Pinpointing concurrency bugs in go via binary analysis, (2022)
– reference: Berthelot, G.: Checking properties of nets using transformation. In Applications and Theory in Petri Nets, vol. 222 of LNCS, pp. 19–40. Springer, (1985)
– reference: Berthomieu, B., Le Botlan, D., Dal Zilio, S.: Counting Petri net markings from reduction equations. Int. J. Softw. Tools Technol. Transf. (2019)
– reference: GitHub repository. Kubernetes generate node map bug. https://github.com/kubernetes/kubernetes/blob/d70ee902fddc682863a3cc4f0d8eac0223ebf70b/test/e2e/storage/vsphere/nodemapper.godd#L62
– reference: GitHub repository. Grumpy: Go running Python. https://github.com/google/grumpy, (2020)
– reference: Ng, N., Yoshida, N.: Static deadlock detection for concurrent go by global session graph synthesis. In CCC’16, pp. 174–184. ACM, (2016)
– reference: GitHub repository. C2Go: Migrate from C to Go. https://godoc.org/rsc.io/c2go, (2020)
– reference: LiptonRJReduction: a method of proving properties of parallel programsCommun. ACM1975181271772140076910.1145/361227.3612340316.68015
– reference: Zaks, A., Joshi, R.: Verifying Multi-threaded C Programs with SPIN. In SPIN’08, pp. 94–107, (2008)
– reference: Dekker, J., Vaandrager, F., Smetsers, R.: Generating a google go framework from an uppaal model. Master’s thesis. Radboud University (2014)
– reference: DilleyNLangeJBounded verification of message-passing concurrency in go using promela and spinElectr. Proc. Theor. Comput. Sci.2020314344510.4204/EPTCS.314.4
– reference: HoareCARCommunicating Sequential Processes1985USAPrentice-Hall Inc0637.68007
– reference: Duret-Lutz, A., Lewkowicz, A., Fauchille, A., Michaud, T., Renault, E., Xu, L.: Spot 2.0 — a framework for LTL and ω\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\omega $$\end{document}-automata manipulation. In ATVA’16, vol. 9938 of LNCS, pp. 122–129. Springer, Oct. (2016)
– reference: Peled, D.: Combining partial order reductions with on-the-fly model-checking. In CAV’94, vol. 818 of LNCS, pp. 377–390. Springer, (1994)
– reference: Laarman, A., Pater, E., van de Pol, J., Hansen, H.: Guard-based partial-order reduction. Int. J. Softw. Tools Technol. Transf. 1–22, (2014)
– reference: Kant, G., Laarman, A., Meijer, J., van de Pol, J., Blom, S., van Dijk, T.: Ltsmin: high-performance language-independent model checking. In TACAS’15, pp. 692–707, April (2015)
– reference: Laarman,A.: Stubborn transaction reduction. In NFM, vol. 10811 of LNCS, pp. 280–298. Springer, (2018)
– reference: Lange,J., Ng, N., Toninho, B., Yoshida, N.: Fencing off Go: Liveness and Safety for Channel-based Programming. In POPL’17, pp. 748–761. ACM, (2017)
– reference: Griesemer,R., Pike, R., Thompson, K., Taylor, I., Cox, R., Kim, J., Langley, A.: Hey! ho! let’s go! https://opensource.googleblog.com/2009/11/hey-ho-lets-go.html, (2009)
– reference: Lange,J., Ng, N., Toninho, B., Yoshida, N.: A static verification framework for message passing in Go using behavioural Types. In CSE’18, pp. 1137–1148. ACM, (2018)
– reference: Dilley,N., Lange, J.: Automated verification of go programs via bounded model checking. In 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 1016–1027, (2021)
– reference: Ray, B., Posnett, D., Filkov, V., Devanbu, P.: A large scale study of programming languages and code quality in github. In SIGSOFT’14, pp. 155–165, (2014)
– reference: Manna, Z., Pnueli, A.: A hierarchy of temporal properties. In PODC’90, pp. 377–410, (1990) ACM
– reference: Godefroid, P.: Between testing and verification: Dynamic software model checking. In DSSE’16 45, pp. 99–116 (2016)
– reference: Giunti, M.: Gopi: Compiling linear and static channels in go. In Coordination Models and Languages, pp. 137–152, (2020) Springer
– reference: Bloemen, V., van de Pol, J.: Multi-core scc-based ltl model checking. In HVC’16, vol. 10028 of LNCS, pp. 18–33. Springer, Nov. (2016)
– reference: Valmari, A.: Stubborn sets for reduced state space generation. In ICATPN’91, vol. 618 of LNCS, pp. 491–515, (1991) Springer
– reference: GitHub repository. Java2Go: Convert Java code to something like Go. https://github.com/dglo/java2go, (2020)
– ident: 692_CR7
  doi: 10.1109/SANER.2019.8668036
– ident: 692_CR21
  doi: 10.1007/978-3-030-50029-0_9
– ident: 692_CR17
– ident: 692_CR15
– ident: 692_CR13
– ident: 692_CR36
  doi: 10.1007/3-540-58179-0_69
– ident: 692_CR11
– ident: 692_CR41
  doi: 10.1023/A:1022920129859
– ident: 692_CR40
  doi: 10.1007/3-540-53863-1_36
– ident: 692_CR5
  doi: 10.1007/978-3-319-49052-6_2
– ident: 692_CR19
– volume: 314
  start-page: 34
  year: 2020
  ident: 692_CR8
  publication-title: Electr. Proc. Theor. Comput. Sci.
  doi: 10.4204/EPTCS.314.4
– ident: 692_CR38
– ident: 692_CR29
  doi: 10.1007/s10009-014-0363-9
– volume: 18
  start-page: 717
  issue: 12
  year: 1975
  ident: 692_CR32
  publication-title: Commun. ACM
  doi: 10.1145/361227.361234
– ident: 692_CR2
  doi: 10.1007/BFb0016204
– ident: 692_CR30
  doi: 10.1145/3093333.3009847
– ident: 692_CR31
  doi: 10.1145/3180155.3180157
– ident: 692_CR23
– ident: 692_CR25
– ident: 692_CR26
  doi: 10.1007/978-3-662-46681-0_61
– ident: 692_CR44
– ident: 692_CR27
  doi: 10.1007/978-3-030-84629-9_8
– ident: 692_CR6
– ident: 692_CR14
– ident: 692_CR16
– ident: 692_CR20
– ident: 692_CR3
  doi: 10.1007/s10009-019-00519-1
– ident: 692_CR4
  doi: 10.1007/978-3-319-23404-5_6
– ident: 692_CR33
– ident: 692_CR18
– ident: 692_CR39
  doi: 10.1145/3297858.3304069
– ident: 692_CR37
  doi: 10.1145/2635868.2635922
– ident: 692_CR28
  doi: 10.1007/978-3-319-77935-5_20
– ident: 692_CR34
  doi: 10.1145/93385.93442
– ident: 692_CR10
  doi: 10.1007/978-3-319-46520-3_8
– volume-title: Communicating Sequential Processes
  year: 1985
  ident: 692_CR24
– ident: 692_CR9
  doi: 10.1109/ASE51524.2021.9678571
– ident: 692_CR22
– ident: 692_CR12
  doi: 10.1007/978-3-642-33386-6_22
– ident: 692_CR35
  doi: 10.1145/2892208.2892232
– ident: 692_CR1
– ident: 692_CR43
– ident: 692_CR42
  doi: 10.1109/CGO51591.2021.9370317
SSID ssj0017679
Score 2.3192296
Snippet We introduce Go2Pins, a tool that takes a program written in Go and links it with two model checkers: LTSMin (Kant et al. Ltsmin: high-performance...
SourceID proquest
crossref
springer
SourceType Aggregation Database
Enrichment Source
Index Database
Publisher
StartPage 77
SubjectTerms Black boxes
Boxes
Computer Science
Handles
Interfaces
Programming languages
Reflexivity
Software Engineering
Software Engineering/Programming and Operating Systems
Theory of Computation
Verification
SummonAdditionalLinks – databaseName: SpringerLINK Contemporary 1997-Present
  dbid: RSV
  link: http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV3PS8MwFA46PXhx_sTplBw8KBrYkrZpvYm4eRhz6JTdSpImMJBW1rn9-yZpsqmooOemIbyXvPflvZf3AXDKM6atXiKRuU0jQ7yNOI8JCoKQ8Ihos0yEJZug_X48GiUD9yis9NXuPiVpLfWHx242kK8vT6a9LkbzVbCm3V1sCBseHp8XuQMa2Q57GggQhClN3FOZ7-f47I6WGPNLWtR6m079f-vcApsOXcLrajtsgxWZ74C6Z26A7iDvgvtugQfjvLyCDCpfngU1foUaD8LesAf1DjdFRFZvsFCwW0BXylXCMx85h7Mq2na-B546t8ObO-SoFZDQAGSKFIkUoTJuUZUlPCCMRVGLa-waYU54IqTCoq0Uz3DGwpAxrvRBDWPTtTAWnAiyD2p5kcsDAJMQh5ImlIhMe0Qu40goxvRM-iokcRA2QNtLOBWu77ihv3hJlx2TjcRSLbHUSiydN8DF4p_XquvGr6ObXnGpO4FlahKqVNuzNm6AS6-o5eefZzv82_AjsGEY6KtC7iaoTSdv8hisi9l0XE5O7M58B7DN3I4
  priority: 102
  providerName: Springer Nature
Title Go2Pins: a framework for the LTL verification of Go programs (extended version)
URI https://link.springer.com/article/10.1007/s10009-022-00692-w
https://www.proquest.com/docview/2784707012
Volume 25
WOSCitedRecordID wos000912379900001&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: 20241213
  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: 20241213
  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 (subscription)
  customDbUrl:
  eissn: 1433-2787
  dateEnd: 20241213
  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: 20241213
  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: 20241213
  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/eLvHCXMwpV1LS8QwEB509eDF9YnrY8nBg6JBN9k2rRdR8QHquvhCvJQkTWBBtmpX_ftOsqmLgl685NI2lM5k8mVm-n0A6yqXGPVSQ91pmjrhbapUwmm7HXEVcwzLXHuxCdHpJA8PaTck3MrQVlnFRB-o80K7HPmOK5AJ9M8W239-oU41ylVXg4TGOEw4loSWb927-aoiiNhz7SEk4JQJkYafZsKvc74sgEcxR9bL6Mf3jWmENn8USP2-c1L_7xvPwHRAnORg6CKzMGb6c1Cv1BxIWNzzcHVasG6vX-4RSWzVskUQ0xLEiOTi9oKg17vGIm9LUlhyWpDQ3lWSjSqbTt6HGbjNBbg7Ob49OqNBboFqBCUDanlsuTDJrrB5qtpcyjjeVYhnY6a4SrWxTLesVTnLZRRJqSwu3ihxTIaJVlzzRaj1i75ZApJGLDIiFVznuEsqk8TaSokz4fHIsHbUgFb1rTMduMidJMZTNmJRdvbJ0D6Zt0_20YCtr2eeh0wcf969WhklC6uyzEYWacB2ZdbR5d9nW_57thWYcir0w2buVagNXt_MGkzq90GvfG3CxOFxp3vdhPFzQXG8ZFdN76c4dqNHHK9v7j8BHqLrUw
linkProvider ProQuest
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V3fb9MwED6VggQvDDYQ3Qb4gUmgYbHaSZxMmhCC9YdaSh86qW_BdmxpEmq6pazaP8XfyDmJW4G0vvVhz0lOSvLd-Tvf-T6AdyqTGPUSQ102TZ3wNlUq5jQIQq4ijmGZ61JsQoxG8XSajBvwx5-FcW2VPiaWgTrLtdsj_-QKZALx2Waf51fUqUa56qqX0KhgMTC3S0zZirP-N_y_R4x1zidfe7RWFaAa194FtTyyXJj4RNgsUQGXMopOFNK2iCmuEm0s021rVcYyGYZSKosYDWM3sC_WimuOdh_Aw4DHwvnVQNBV1UJE5Ww_pCCcMiGS-pBOfVSvLENg6ueGAzO6_HchXLPb_wqy5TrX2blvX-gZPK0ZNflSucBzaJjZLux4tQpSB689-NHN2fhyVpwSSaxvSSPI2QlyYDKcDAl6tWucKrFKcku6Oanb1wry3lcLyE21w_jhBVxs5bVeQnOWz8wrIEnIQiMSwXWGLECZONJWSrSE6Z9hQdiCtv-3qa5nrTvJj1_pekq0w0OKeEhLPKTLFhyvnplXk0Y23n3oQZDWUadI1whowUcPo_Xlu63tb7b2Fh73Jt-H6bA_GhzAE4Y8r2pcP4Tm4vq3eQ2P9M3isrh-U_oDgZ_bhtdfKkBFPA
linkToPdf http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V1Ra9swED66doy9LG230mxdp4cWNjaRRIotezBGaZs0NGR56CDsxZVkCQoj7uosYX-tv64nW2roYH3Lw55tH8j6dPpO9-kO4EDlEr1eaqiLpqlrvE2VSjjtdiOuYo5umeuq2YQYjZLJJB2vwW24C-NklcEnVo46L7Q7I2-5BJlAfHZYy3pZxPik9_X6F3UdpFymNbTTqCFybv4sMHwrvwxOcK4PGeudXhyfUd9hgGrch2fU8thyYZK2sHmqulzKOG4rpHAxU1yl2limO9aqnOUyiqRUFvEaJa54X6IV1xztPoENgTGmkxOOox_3GQwRV3X-kI5wyoRI_YUdf22vSklgGOgKBTO6eLgpLpnuX8nZas_rNf7nv7UJLzzTJkf10tiCNTPdhkboYkG8U3sJ3_oFG19Ny89EEhukagS5PEFuTIYXQ4Kr3QmqKgyTwpJ-QbysrSTvQxaBzOuTxw-v4PtKhrUD69NianaBpBGLjEgF1zmyA2WSWFsp0RKGhYZ1oyZ0wjxn2tdgd61AfmbL6tEOGxliI6uwkS2a8PH-m-u6Asmjb-8FQGTeG5XZEg1N-BQgtXz8b2uvH7f2Dp4hqrLhYHT-Bp4zpH-1nn0P1mc3v81beKrns6vyZr9aGgQuV42uO8U-TmA
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=Go2Pins%3A+a+framework+for+the+LTL+verification+of+Go+programs+%28extended+version%29&rft.jtitle=International+journal+on+software+tools+for+technology+transfer&rft.au=Kirszenberg%2C+Alexandre&rft.au=Martin%2C+Antoine&rft.au=Moreau%2C+Hugo&rft.au=Renault%2C+Etienne&rft.date=2023-02-01&rft.pub=Springer+Nature+B.V&rft.issn=1433-2779&rft.eissn=1433-2787&rft.volume=25&rft.issue=1&rft.spage=77&rft.epage=94&rft_id=info:doi/10.1007%2Fs10009-022-00692-w&rft.externalDBID=HAS_PDF_LINK
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