blob: d2356ee0e9973a8ea4d1a26bf80fda23824aad7f [file] [log] [blame] [view]
Damian Gryski069f87f2016-06-03 21:11:04 +02001This page lists academic and industry research papers about Go or using Go as the implementation language.
Julien Langea41aa032018-12-21 10:52:08 +01002## 2019
3
4- An empirical study of messaging passing concurrency in Go projects (N. Dilley, J. Lange)
5 - [SANER'19 pre-print](https://www.cs.kent.ac.uk/people/staff/jl703/papers/dilley-lange-saner19-preprint.pdf)
6 - [web-page](https://www.cs.kent.ac.uk/people/staff/jl703/go-survey/)
7
Nicholas Ng1015c832018-01-02 16:59:11 +00008## 2018
Nicholas Ng7ed18622018-08-15 10:11:40 +01009
Phil0260b842018-12-26 18:37:10 +010010- Implementation and evaluation of secure and scalable anomaly-based network intrusion detection (P. Mieden)
11 - [pdf](https://www.researchgate.net/publication/329815346_Implementation_and_evaluation_of_secure_and_scalable_anomaly-based_network_intrusion_detection?_iepl%5BviewId%5D=l30CNV1Mc1vme3xnwNE1OT0J&_iepl%5Bcontexts%5D%5B0%5D=projectUpdatesLog&_iepl%5BtargetEntityId%5D=PB%3A329815346&_iepl%5BinteractionType%5D=publicationTitle)
12 - [code](https://github.com/dreadl0ck/netcap)
13 - [presentation](https://www.researchgate.net/publication/329815099_Bachelor_thesis_Presentation_Implementation_and_evaluation_of_secure_and_scalable_anomaly-based_network_intrusion_detection)
14
Sebastien Binet85915e52018-12-17 12:03:31 +010015- ProIO: An Event-Based I/O Stream Format for Protobuf Messages (D. Blyth, J. Alcaraz, S. Binet, S.V. Chekanov)
16 - [arXiv:1812.03967](https://arxiv.org/abs/1812.03967)
17 - [proio-org/go-proio](https://godoc.org/github.com/proio-org/go-proio)
18
Damian Gryskic366d1f2018-12-09 07:31:14 -080019- The latest gossip on BFT consensus (Buchman, Kwon, Milosevic)
20 - [pdf](https://arxiv.org/abs/1807.04938)
21
Bas0ae941f2018-12-01 21:51:48 +010022- Distributed Programming using Role-Parametric Session Types in Go (Castro, Hu, Jongmans, NG, Yoshida)
Bas968e6f62018-12-01 21:54:21 +010023 - [pdf](https://www.doc.ic.ac.uk/research/technicalreports/2018/DTRS18-4.pdf)
Bas0ae941f2018-12-01 21:51:48 +010024
Damian Gryskid80b4a32018-11-30 18:23:02 -080025- Observing the Evolution of QUIC Implementations, (Piraux, De Coninck, Bonaventure)
26 - [pdf](https://arxiv.org/abs/1810.09134)
27
Damian Gryskic22e4b92018-11-25 08:28:16 -080028- Cody Cutler, M. Frans Kaashoek, and Robert T. Morris, "The benefits and costs of writing a POSIX kernel in a high-level language"
29 - [presentation](https://www.usenix.org/conference/osdi18/presentation/cutler)
30 - [code](https://github.com/mit-pdos/biscuit)
31
Basbecbd022018-11-06 20:39:53 +010032- Voit, Sebastian Peter Johann. "Writing Network Drivers in Go."
33 - [pdf](https://www.net.in.tum.de/fileadmin/bibtex/publications/theses/2018-ixy-go.pdf)
34
Valentine0b061c2018-10-27 15:58:12 +090035- "MoonShine: Optimizing OS Fuzzer Seed Selection with Trace Distillation" (Shankara Pailoor, Andrew Aday, Suman Jana) USENIX Security 2018
36 - [pdf](https://www.usenix.org/system/files/conference/usenixsecurity18/sec18-pailoor.pdf)
37
Nicholas Ng7ed18622018-08-15 10:11:40 +010038- "Process-Local Static Analysis of Synchronous Processes" (Jan Midtgaard, Flemming Nielson, Hanne Riis Nielson) SAS 2018
39 - [full version PDF](http://janmidtgaard.dk/papers/Midtgaard-Nielson-Nielson%3aSAS18-full.pdf)
40 - [prototype](https://github.com/jmid/nano-go)
41
ImreSamu3f2b2102018-02-22 22:06:00 +010042- "Inferring and Asserting Distributed System Invariants" (Stewart Grant, Hendrik Cech, Ivan Beschastnikh) ICSE 2018 Technical Papers
43 - [pdf](https://www.cs.ubc.ca/~bestchai/papers/dinv-icse18.pdf)
44 - [bitbucket.org/bestchai/dinv/](https://bitbucket.org/bestchai/dinv/) _"DInv is a distributed system data invariant detector"_ ; _"DInv is written in go lang"_
45
ImreSamuda79dc82018-02-17 13:10:44 +010046- "Revisiting the Vector Space Model: Sparse Weighted Nearest-Neighbor Method for Extreme Multi-Label Classification." (Tatsuhiro Aoshima, Kei Kobayashi, Mihoko Minami) [arXiv:1802.03938](https://arxiv.org/abs/1802.03938) stat.ML,
47 - [PDF:arXiv:1802.03938-stat.ML](https://arxiv.org/pdf/1802.03938.pdf)
48 - [github.com/hiro4bbh/sticker ](https://github.com/hiro4bbh/sticker) _"...We have published
49our implementation sticker (Aoshima, 2018) written in Golang (Golang, 2009)..."_
50 - keywords: sticker, machine-learning, classification
51
Nicholas Ng1015c832018-01-02 16:59:11 +000052- A Static Verification Framework for Message Passing in Go using Behavioural Types (J. Lange, N. Ng, B. Toninho, N. Yoshida)
53 - [accepted draft](http://mrg.doc.ic.ac.uk/publications/a-static-verification-framework-for-message-passing-in-go-using-behavioural-types/draft.pdf) at [ICSE 2018](https://www.icse2018.org/track/icse-2018-Technical-Papers)
54 - [Tool page](http://mrg.doc.ic.ac.uk/tools/godel-checker/), sources: [godel-checker](https://bitbucket.org/MobilityReadingGroup/godel-checker) and [Go frontend](https://github.com/nickng/gospal)
55
Akwickebc980d2018-03-13 09:53:57 +010056- Finding The Greedy, Prodigal, and Suicidal Contracts at Scale (Ivica Nikolic, Aashish Kolluri, Ilya Sergey, Prateek Saxena, Aquinas Hobor)
57 - [pdf](https://arxiv.org/abs/1802.06038) "To implement the validating framework, we added a new functionality to the official go-ethereum package [20] which allows us to fork the Ethereum main chain at a block height of our choice."
Damian Gryskic651b862018-04-04 16:47:07 -070058
Damian Gryskid548d3d2018-04-04 22:46:01 -070059- State of Mutation Testing at Google (Goran Petrovic and Marko Ivankovic)
60 - https://research.google.com/pubs/pub46584.html
Akwickebc980d2018-03-13 09:53:57 +010061
sajarwo49eee572018-04-20 11:23:35 +030062- Index Data Structure, Functionality and Microservices in Thematic Virtual Museums (Sajarwo Anggai) (Ph.D. thesis)
63 - http://vestnik.spbu.ru/html18/s10/s10v1/04.pdf
64
Damian Gryski6a2caee2018-10-25 10:16:59 -070065- "Two-Phase Dynamic Analysis of Message-Passing Go Programs based on Vector Clocks" (M. Sulzmann, K. Stadtmueller)
66 - [arxiv](https://arxiv.org/abs/1807.03585)
67
68- "Revisiting the Vector Space Model: Sparse Weighted Nearest-Neighbor Method for Extreme Multi-Label Classification" (Tatsuhiro Aoshima, Kei Kobayashi, Mihoko Minami)
69 - [arxiv](https://arxiv.org/abs/1802.03938)
70
71- "GEEC: Scalable, Efficient, and Consistent Consensus for Blockchains" (Xusheng Chen, Shixiong Zhao, Cheng Wang, Senran Zhang, Heming Cui)
72 - [arxiv](https://arxiv.org/abs/1808.02252)
73
74- "Dependability in a Multi-tenant Multi-framework Deep Learning as-a-Service Platform" (Scott Boag, Parijat Dube, Kaoutar El Maghraoui, Benjamin Herta, Waldemar Hummer, K. R. Jayaram, Rania Khalaf, Vinod Muthusamy, Michael Kalantar, Archit Verma)
75 - [arxiv](https://arxiv.org/abs/1805.06801)
76 - [github](https://github.com/IBM/FfDL)
77
Nicholas Ng2c665992017-01-06 14:39:08 +000078## 2017
Samuel Lampa60255f92018-04-19 18:45:14 +020079
Sebastien Bineta7e9f662018-08-21 09:12:16 +020080- Go-HEP: writing concurrent software with ease and Go (S. Binet)
Sebastien Binetbea43862018-10-18 21:07:55 +020081 - [doi:10.1088/1742-6596/1085/5/052012](https://doi.org/10.1088/1742-6596/1085/5/052012)
Sebastien Bineta7e9f662018-08-21 09:12:16 +020082 - [arXiV:1808.06529](https://arxiv.org/abs/1808.06529)
83 - https://go-hep.org
Samuel Lampabf98c8d2018-04-19 18:47:26 +020084- RDFIO: extending Semantic MediaWiki for interoperable biomedical data management (Samuel Lampa, Egon Willighagen, Pekka Kohonen, Ali King, Denny Vrandečić, Roland Grafström, Ola Spjuth) Journal of Biomedical Semantics ( Volume: 8, Issue: 35 )
Samuel Lampa60255f92018-04-19 18:45:14 +020085 - [DOI: 10.1186/s13326-017-0136-y](https://doi.org/10.1186/s13326-017-0136-y)
Samuel Lampa45300962018-04-19 18:50:46 +020086 - The rdf2smw commandline tool, for batch conversion from RDF to Semantic MediaWiki facts in MediaWiki XML dump format, is written in Go
Samuel Lampa60255f92018-04-19 18:45:14 +020087 - [github.com/rdfio/rdf2smw](https://github.com/rdfio/rdf2smw)
88 - [godoc](https://godoc.org/github.com/rdfio/rdf2smw)
89 - Keywords: Semantic MediaWiki, Semantic Web, RDF
Sebastien Binete4da6f82017-12-14 16:20:03 +010090- Construction and first tests of an in-beam PET demonstrator dedicated to the ballistic control of hadrontherapy treatments with 65 MeV protons (E Busato et al.) IEEE Transactions on Radiation and Plasma Medical Sciences ( Volume: PP, Issue: 99 )
91 - [DOI: 10.1109/TRPMS.2017.2780447](https://doi.org/10.1109/TRPMS.2017.2780447)
92 - Monitoring system + parts of the DAQ in Go
93 - Keywords: Detectors, Particle beams, Protons, Ions, Plasmas, Structural beams, Monitoring
ImreSamu907fdec2017-06-13 15:23:08 +020094- Let's Go: a Data-Driven Multi-Threading Support (Alberto Scionti,Somnath Mazumdar) CF'17 Proceedings of the Computing Frontiers Conference
95 - [doi.org/10.1145/3075564.3075596](https://doi.org/10.1145/3075564.3075596) _"... This paper proposes a first attempt to map goroutines on a data-driven based PXM. ..."_
96 - Keywords: Data-driven, Programming language, Multi-threading
Brendan Tracey57e4c762017-06-09 10:11:55 -060097- Estimating Mixture Entropy with Pairwise Distances (Artemy Kolchinsky, Brendan D. Tracey)
98 - [arXiv](https://arxiv.org/abs/1706.02419)
99 - [godoc](https://godoc.org/github.com/btracey/mixent)
ImreSamub1b4f102017-06-05 19:40:06 +0200100- Towards Omnia: a Monitoring Factory for Quality-Aware DevOps (Marco Miglierina, Damian A. Tamburri)
101 - [doi.org/10.1145/3053600.3053629](https://doi.org/10.1145/3053600.3053629) ICPE '17 Companion
102 - [github.com/mmiglier/omnia](https://github.com/mmiglier/omnia) (Go: 52.8% )
103 - Keywords: Monitoring, Monitoring Management, Monitoring Factory, Monitoring Interface, Monitoring Infrastructure as Code, Monitoring Configuration as Code
ImreSamuccd85482017-06-05 19:26:00 +0200104- Copy-on-Reference File Mechanism Extends Scope of Dynamic Reconfiguration (Jeremy Krach) thesis
105 - [pdf](http://honors.cs.umd.edu/uploads/thesis/file/189/Krach_Jeremy_Thesis.pdf)
106 - [github.com/krockpot/lazyfs](https://github.com/krockpot/lazyfs) _"Lazy file retrieval for process migration."_
ImreSamu0d9fc692017-06-05 19:15:50 +0200107- An event model for phylogenetic biogeography using explicitly geographical ranges (J. Salvador Arias)
108 - http://onlinelibrary.wiley.com/doi/10.1111/jbi.13024/full
109 - Computer implementation (EVS written in Go) : [github.com/js-arias/evs](https://github.com/js-arias/evs) _"Evs is a tool for phylogenetic biogeography.
110"_
ImreSamuee64ef42017-05-13 12:06:56 +0200111- Feasibility of reusable continuous thrust spacecraft for cargo resupply missions to Mars (C. B. Rabotin) thesis
112 - [pdf](http://hanspeterschaub.info/Papers/grads/ChristopherRabotin.pdf)
113 - [github.com/ChristopherRabotin/smd](https://github.com/ChristopherRabotin/smd) Space Mission Design - A SPICE-enhanced continuous thrust interplanetary mission propagator and vizualizer
114 - Keywords: space-mission interplanetary-missions celestial-bodies astrodynamics orbit propagation spice
ImreSamu77fb9db2017-03-30 00:19:06 +0200115- Performance testing of open-source HTTP web frameworks in an API (Michael A.P. Domingues) DSIE’17
116 - https://paginas.fe.up.pt/~prodei/dsie17/DSIE17_Proceedings.pdf#page=18
117 - Keywords: Revel, Gin and Echo, Performance testing, API, Web frameworks, Apache benchmark
118
ImreSamu52ae7f52017-03-07 10:18:15 +0100119- Method of auto-configuration for corporate proxies (Andrés Abelardo Villarroel Acosta, Carlos Enrique Montenegro Marín, Paulo Alonso Gaona García, Yuri Vanessa Nieto Acevedo) Ingeniería solidaria, 2017
ImreSamudb528d42017-03-29 13:31:21 +0200120 - https://revistas.ucc.edu.co/index.php/in/article/view/1723
121 - https://github.com/andresvia/udpac
122 - Keywords: Proxy Auto-configuration (PAC), Web Proxy Auto-Discovery Protocol (WPAD), Dynamic Host Configuration Protocol (DHCP), Standard Time.
ImreSamu6e2e9682017-03-04 21:10:03 +0100123- NucAmino: a nucleotide to amino acid alignment optimized for virus gene sequences ( Philip L. Tzou, Xiaoqiu Huang, Robert W. Shafer ) BMC Bioinformatics (2017) 18: 138.
ImreSamudb528d42017-03-29 13:31:21 +0200124 - [DOI: 10.1186/s12859-017-1555-6](https://link.springer.com/article/10.1186/s12859-017-1555-6) _"... NucAmino is written in the computer language Go ..."_
125 - [github.com/hivdb/NucAmino](https://github.com/hivdb/NucAmino) ( Go 94.4% )
126 - Keywords: Sequence alignment, Viruses, HIV-1, Drug resistance, Open source
ImreSamuf71d4b12017-02-19 15:23:37 +0100127- Idiomatic and Reproducible Software Builds using Containers for Reliable Computing (Jonas Weber) Master’s Thesis
ImreSamudb528d42017-03-29 13:31:21 +0200128 - [arXiv:1702.02999v1 cs.SE 9 Feb 2017](https://arxiv.org/abs/1702.02999), [pdf](https://arxiv.org/pdf/1702.02999.pdf)
129 - [github.com/thriqon/thesis-supplement](https://github.com/thriqon/thesis-supplement)
ImreSamuf71d4b12017-02-19 15:23:37 +0100130
ImreSamuee7d3482017-02-07 20:33:34 +0100131- Structured I/O streams in Clive: a toolbox approach for wide area network computing ( Francisco J. Ballesteros )
ImreSamudb528d42017-03-29 13:31:21 +0200132 - [DOI: 10.1186/s13174-016-0054-8 OPEN ACCESS](http://jisajournal.springeropen.com/articles/10.1186/s13174-016-0054-8) _" ... Clive is a system written in Go ..."_
133 - [Clive related research](http://lsub.org/ls/research.html)
134 - [Clive source](http://lsub.org/ls/clive.html) _"...Clive is an operating system designed to work in distributed and cloud computing environments. ..."_
135 - Keywords: Streams, Input/Output, Operating system, Distributed systems, Cloud computing
ImreSamuc544f992017-01-19 13:30:44 +0100136- Towards Practical Default-On Multi-Core Record/Replay ( Ali José Mashtizadeh, Tal Garfinkel, David Terei, David Mazières, Mendel Rosenblum) draft , ASPLOS 2017
137 - [Draft – Accepted at ASPLOS 2017 - PDF](http://mashtizadeh.org/papers/asplos17-castor-draft.pdf) _"...Castor currently supports applications written in C, C++, and Go on FreeBSD...., ... For Go, we evaluate, Caddy ... "_
ImreSamuf66f2a12017-01-19 13:19:39 +0100138- Comparing MapReduce and Pipeline Implementations for Counting Triangles ( Edelmira Pasarella, Maria-Esther Vidal, Cristina Zoltan)
139 - [arXiv:1701.03318 cs.DC](https://arxiv.org/abs/1701.03318)
140 - [pdf](https://arxiv.org/pdf/1701.03318.pdf) _"... an ad-hoc version of MapReduce are implemented in the language Go ..."_
Nicholas Ng2c665992017-01-06 14:39:08 +0000141- Fencing off Go: Liveness and Safety for Channel-based Programming (J. Lange, N. Ng, B. Toninho, N. Yoshida), POPL 2017
142 - [doi: 10.1145/3009837.3009847](http://dl.acm.org/citation.cfm?id=3009847)
143 - [Tool page](http://mrg.doc.ic.ac.uk/tools/gong/), [code](https://github.com/nickng/gong)
Damian Gryski2b142d02017-06-05 16:11:04 +0200144- Design and Implementation of Concurrent C0 (Willsey, Prabhu, Pfenning)
145 - https://arxiv.org/abs/1701.04929
Akwick45c4b6f2017-09-09 11:24:26 +0200146- Automated Identification of Security Issues from Commit Messages and Bug Reports (Yagin Zhou, Asankhaya Sharma), FSE 2017
147 - [doi: 10.1145/3106237.3117771](http://dl.acm.org/citation.cfm?doid=3106237.3117771)
Damian Gryski57f4fad2018-02-16 10:50:01 -0800148- Reconstructing Program Semantics from Go Binaries (Engelke)
149 - http://home.in.tum.de/~engelke/pubs/1709-ma.pdf
Damian Gryski3fb68802018-04-04 23:11:27 -0700150- An Attempt at Reducing Costs of Disk I/O in Go (Wilson, Mutschlechner)
151 - http://pages.cs.wisc.edu/~riccardo/assets/diskio.pdf
Damian Gryskida588fd2018-04-04 23:18:12 -0700152- Go-RealTime: A Lightweight Framework for Multiprocessor Real-Time System in User Space (Fang, Luo, Anwar, Zhuang, Gupta)
153 - http://sigbed.seas.upenn.edu/archives/2017-11/paper7.pdf
Damian Gryski6a2caee2018-10-25 10:16:59 -0700154- "Secure and Trustable Electronic Medical Records Sharing using Blockchain" (Alevtina Dubovitskaya, Zhigang Xu, Samuel Ryu, Michael Schumacher, Fusheng Wang)
155 - [arxiv](https://arxiv.org/abs/1709.06528)
156- "Towards a More Reliable and Available Docker-based Container Cloud" (Mudit Verma, Mohan Dhawan)
157 - [arxiv](https://arxiv.org/abs/1708.08399)
158
Damian Gryski069f87f2016-06-03 21:11:04 +0200159
Matt Horsnellf6197c62016-06-06 11:42:17 +0100160## 2016
ImreSamuad90d692017-06-11 19:54:05 +0200161- Atom: Horizontally Scaling Strong Anonymity (Albert Kwon, Henry Corrigan-Gibbs, Srinivas Devadas, Bryan Ford)
162 - [arXiv:1612.07841 cs.CR](https://arxiv.org/abs/1612.07841) _"...We implemented an Atom prototype in Go in approximately 3,500 lines of code, ..."_
ImreSamu4b239c82017-04-11 14:46:10 +0200163- The Case for Reconfiguration without Consensus: Comparing Algorithms for Atomic Storage (Leander Jehl, Hein Meling)
164 - [pdf](http://drops.dagstuhl.de/opus/volltexte/2017/7100/pdf/LIPIcs-OPODIS-2016-31.pdf)
165 - [github.com/relab/smartmerge](https://github.com/relab/smartmerge) implemented in golang
ImreSamuabd18bb2017-02-21 12:24:48 +0100166- Flower : Workflow management and heat-aware scheduling for modern cloud infrastructures (Robert Carosi,
167Boris Mattijssen) bachelor thesis,
ImreSamudb528d42017-03-29 13:31:21 +0200168 - [abstract](http://repository.tudelft.nl/islandora/object/uuid:fd1a2aea-84d0-42cc-8043-23a182748f8c), [pdf](http://repository.tudelft.nl/islandora/object/uuid:fd1a2aea-84d0-42cc-8043-23a182748f8c/datastream/OBJ/view), Keywords: container, workflow, virtualization, scheduling, flower, kubernetes
ImreSamu107fbf22017-02-19 15:17:38 +0100169- Implementing a web-based bookingsystem using Go ( Vu, Phi-Long ) Independent thesis Basic level
ImreSamudb528d42017-03-29 13:31:21 +0200170 - [abstract](http://www.diva-portal.org/smash/record.jsf?pid=diva2%3A1070267&dswid=784), [pdf](http://www.diva-portal.org/smash/get/diva2:1070267/FULLTEXT01.pdf) ; Keywords: Booking System, Go, Golang, REST, XSS, XSRF
ImreSamu8ad66b02017-01-24 13:19:44 +0100171- Parallelization of the corpus manager’s time-consuming operations (Bc. Radoslav Rábara ) Master's Thesis, Masaryk University
172 - [pdf](http://www.itspy.cz/wp-content/uploads/2016/11/IT_SPY_2016_paper_60.pdf) ; Keywords: Manatee, text corpora, Go, text compression, compression of integers, time-consuming operations, parallelization, MapReduce, Glow, distributed computing, data format, cluster, scalability
ImreSamu73bf1db2016-12-22 20:43:52 +0100173- Cyber Security Exercise Modeling & Tracking (Joonas Greis) Bachelor’s thesis
ImreSamudb528d42017-03-29 13:31:21 +0200174 - [pdf](https://www.theseus.fi/bitstream/handle/10024/120054/Thesis_rellu.pdf) _"... RESTful API was written with Golang using Go-Json-Rest package ..."_
ImreSamu79c9fe22016-12-20 17:55:57 +0100175- Scalable Byzantine Consensus via Hardware-assisted Secret Sharing (Jian Liu, Wenting Li, Ghassan O. Karame, N. Asokan)
ImreSamudb528d42017-03-29 13:31:21 +0200176 - [arXiv:1612.04997 cs.CR](https://arxiv.org/abs/1612.04997) ; _"... Our implementation is based on Golang ..."_ ; [pdf](https://arxiv.org/pdf/1612.04997v1.pdf)
ImreSamu53c81592016-12-10 16:27:48 +0100177- Fast and Reliable Byzantine Fault Tolerance (Eric Scott Freeman) Master's thesis in Computer science
ImreSamudb528d42017-03-29 13:31:21 +0200178 - [link](http://hdl.handle.net/11250/2413908), [pdf]( https://brage.bibsys.no/xmlui/bitstream/handle/11250/2413908/Freeman_Eric.pdf?sequence=1)
ImreSamu40b42fa2016-11-26 19:28:01 +0100179- Formal verification of concurrency in go (Anuchit Prasertsang, Denduang Pradubsuwun)
180 - [DOI: 10.1109/JCSSE.2016.7748882](http://dx.doi.org/10.1109/JCSSE.2016.7748882)
ImreSamub1272502016-11-16 22:40:03 +0100181- Therapeutic target discovery using Boolean network attractors: updates from kali ( Arnaud Poret ) ( Quantitative Biology > Molecular Networks)
182 - [arXiv:1611.03144v1 q-bio.MN](https://arxiv.org/abs/1611.03144v1)
183 - [github.com/arnaudporet/kali](https://github.com/arnaudporet/kali) [Go 100.0%]
ImreSamu2e53a252016-10-11 12:05:48 +0200184- Information Flow Analysis for Go ( Eric Bodden, Ka I. Pun, Martin Steffen, Volker Stolz, Anna-Katharina Wickert)
ImreSamu2e53a252016-10-11 12:05:48 +0200185 - [10.1007/978-3-319-47166-2_30](http://link.springer.com/chapter/10.1007/978-3-319-47166-2_30)
Damian Gryski94ec8e22016-08-19 21:35:44 +0200186- A Productivity Checker for Logic Programming (E. Komendantskaya, P. Johann, M. Schmidt )
187 - [arXiv:1608.04415 cs.PL](https://arxiv.org/abs/1608.04415)
ImreSamu47003932016-08-20 17:20:30 +0200188 - project page: http://www.macs.hw.ac.uk/~ek19/CoALP/
ImreSamu806bbe12016-07-30 02:06:00 +0200189- A novel algorithm for detecting multiple covariance and clustering of biological sequences
190( Wei Shen & Yan Li) ( Coevolution, Computational models )
ImreSamudb528d42017-03-29 13:31:21 +0200191 - http://www.nature.com/articles/srep30425 , doi:10.1038/srep30425
192 - Algorithm implementation (golang - only binary ) : http://yanlilab.github.io/fastcov/
ImreSamucd18c602016-07-26 16:34:05 +0200193- Architecture of the Hyperledger Blockchain Fabric (Christian Cachin)
ImreSamudb528d42017-03-29 13:31:21 +0200194 - [pdf](https://www.zurich.ibm.com/dccl/papers/cachin_dccl.pdf)
195 - [code]( https://github.com/hyperledger/fabric/)
ImreSamue49ce9c2016-07-23 13:56:46 +0200196- Reimagining the Programming Experience ( Mehrdad Afshari , dissertation) GoClr
ImreSamudb528d42017-03-29 13:31:21 +0200197 - [pdf](https://mehrdad.afshari.me/publications/dissertation.pdf)
ImreSamuec483082016-07-23 13:46:55 +0200198- MapReduce vs. Pipelining Counting Triangles (Edelmira Pasarella, Maria-Esther Vidal,and Cristina Zoltan)
ImreSamudb528d42017-03-29 13:31:21 +0200199 - [pdf](http://ceur-ws.org/Vol-1644/paper33.pdf)
ImreSamu7acb1762016-07-15 00:32:01 +0200200- Software Engineering with PSF and Go (Erik van der Schaaf) Thesis, University of Amsterdam
ImreSamudb528d42017-03-29 13:31:21 +0200201 - [pdf](https://esc.fnwi.uva.nl/thesis/centraal/files/f1899376590.pdf)
ImreSamuc0aa3cf2016-07-09 16:16:35 +0200202- Parametric Polymorphism in the Go Programming Language (Matthew Allen) University of Texas,
203Turing Scholars honors thesis
ImreSamudb528d42017-03-29 13:31:21 +0200204 - [pdf](http://apps.cs.utexas.edu/tech_reports/reports/tr/TR-2231.pdf)
205 - [code](https://github.com/Matt343/llgo) ( LLGO based )
ImreSamu55b76a32016-07-02 12:53:03 +0200206- Static Trace-Based Deadlock Analysis for Synchronous Mini-Go ( Kai Stadtmüller, Martin Sulzmann, and Peter Thiemann )
ImreSamudb528d42017-03-29 13:31:21 +0200207 - [pdf](http://www.home.hs-karlsruhe.de/~suma0002/publications/TraceBasedDeadlockAnalysisMiniGo.pdf)
208 - [code](https://github.com/KaiSta/gopherlyzer) - first beta implementation : gopherlyzer
ImreSamueb69acc2016-06-25 17:36:17 +0200209- Continuous Query-Based Syndication: Distributed, Expressive Messaging for the IoT( Gabriel Fierro, Erik Krogen )
210 - [pdf](https://people.eecs.berkeley.edu/~kubitron/courses/cs262a-S16/projects/reports/project1_report.pdf), [motivation](https://github.com/gtfierro/cs262-project/blob/master/Motivation.md)
211 - [code](https://github.com/gtfierro/cs262-project) ( Go and Python implementation )
Matt Horsnellf6197c62016-06-06 11:42:17 +0100212- Privacy, Discovery, and Authentication for the Internet of Things (Wu, Taly, Shankar, Boneh)
213 - [arxiv](https://arxiv.org/abs/1604.06959)
214 - [code](https://vanadium.github.io/)
215- Static Deadlock Detection for Concurrent Go by Global Session Graph Synthesis (Ng, Yoshida)
216 - [pdf](http://www.doc.ic.ac.uk/~cn06/pub/2016/dingo/main.pdf)
217 - [code](https://github.com/nickng/dingo-hunter)
218- A Small-Step Semantics of a Concurrent Calculus with Goroutines and Deferred Functions ( Martin Steffen )
ImreSamudb528d42017-03-29 13:31:21 +0200219 - [springer link](http://link.springer.com/chapter/10.1007%2F978-3-319-30734-3_26)
Matt Horsnellf6197c62016-06-06 11:42:17 +0100220- Butterfield, Ellis H., "Fog Computing with Go: A Comparative Study" (2016). CMC Senior Theses. Paper 1348.
221 - http://scholarship.claremont.edu/cmc_theses/1348
222- An Implementation and Analysis of a Kernel Network Stack in Go with the CSP Style (Harshal Sheth, Aashish Welling)
ImreSamudb528d42017-03-29 13:31:21 +0200223 - [arXiv:1603.05636 cs.OS](http://arxiv.org/abs/1603.05636 )
Matt Horsnellf6197c62016-06-06 11:42:17 +0100224- PAS-MC: Privacy-preserving Analytics Stream for the Mobile Cloud (Joy, Gerla)
Damian Gryskia9039ed2016-06-07 13:38:15 +0200225 - [arXiv:1604.04892 cs.CR](https://arxiv.org/abs/1604.04892)
226- Developing an Ethereum Blockchain Application (Triantafyllidis)
227 - [pdf](https://homepages.staff.os3.nl/~delaat/rp/2015-2016/p53/report.pdf)
Philipp Winter7695ecd2016-06-10 22:36:36 +0000228- Identifying and characterizing Sybils in the Tor network (Winter, Ensafi, Loesing, and Feamster)
ImreSamudb528d42017-03-29 13:31:21 +0200229 - [pdf](https://nymity.ch/sybilhunting/pdf/sybilhunting.pdf)
230 - [code](https://github.com/NullHypothesis/sybilhunter)
Damian Gryskif31c7da2016-06-22 14:41:01 +0200231- A Distributed Implementation of the Graph Database System: DGraph
232 - [pdf](https://www.dropbox.com/s/7h4ytak39r2pdun/Ashwin_Thesis.pdf?dl=0)
Damian Gryski7a497992017-06-05 13:12:52 +0200233- Browsix: Bridging the Gap Between Unix and the Browser (Powers, Vilk, Berger)
234 - https://arxiv.org/abs/1611.07862
Damian Gryski68ef2be2018-02-11 11:13:09 -0800235- Verification of Goroutines using Why3 (Schoolderman)
236 - https://www.ru.nl/publish/pages/769526/marc_schoolderman.pdf
Damian Gryskid548d3d2018-04-04 22:46:01 -0700237- Detection of Bugs and Code Smells through Static Analysis of Go Source Code (Bergersen)
238 - https://www.duo.uio.no/bitstream/handle/10852/53050/bergersen_msc.pdf
Damian Gryski3fb68802018-04-04 23:11:27 -0700239- BTrDB: Optimizing Storage System Design for Timeseries Processing (Andersen, Culler)
240 - https://www.usenix.org/node/194399
Damian Gryski77b0f1e2016-06-05 11:25:53 +0200241
Damian Gryski069f87f2016-06-03 21:11:04 +0200242## 2015
ImreSamu3d5bda82016-07-19 10:22:20 +0200243- Tinzenite: Encrypted Peer to Peer File Synchronization via the Tox Protocol (Tamino P.S.M. Hartmann) (Master thesis at Ulm University)
244 - [pdf](http://dbis.eprints.uni-ulm.de/1334/1/ma_final_hartmann.pdf)
245 - [github.com/tinzenite](https://github.com/tinzenite)
Damian Gryski069f87f2016-06-03 21:11:04 +0200246- Blade: A Data Center Garbage Collector (Terei, Levy)
Damian Gryski77b0f1e2016-06-05 11:25:53 +0200247 - [arxiv:1504.02578 cs.DC](https://arxiv.org/abs/1504.02578)
Damian Gryski069f87f2016-06-03 21:11:04 +0200248- Flywheel: Google's Data Compression Proxy for the Mobile Web (Agababov, Buettner, Chudnovsky, Cogan, Greenstein, McDaniel, Piatek, Scott, Welsh, Yin)
249 - [pdf](http://research.google.com/pubs/pub43447.html)
250 - [Rewriting a large production system in Go](http://matt-welsh.blogspot.com/2013/08/rewriting-large-production-system-in-go.html)
Brendan Traceyd99ac342016-06-04 07:49:45 -0600251- A Machine Learning Strategy to Assist Turbulence Model Development (Brendan Tracey, Karthik Duraisamy, Juan J. Alonso)
Brendan Tracey2da3ab72016-06-04 07:49:12 -0600252 - http://arc.aiaa.org/doi/abs/10.2514/6.2015-1287
ImreSamuf78c7782016-06-04 16:53:26 +0200253- Implementing an intelligent version of the classical sliding-puzzle game for unix terminals using Golang's concurrency primitives ( Pravendra Singh )
ImreSamudb528d42017-03-29 13:31:21 +0200254 - [arxiv:1503.08345 cs.AI](http://arxiv.org/abs/1503.08345 )
Damian Gryski77b0f1e2016-06-05 11:25:53 +0200255- Keeping Authorities "Honest or Bust" with Decentralized Witness Cosigning (Syta, Tamas, Visher, Wolinsky, Jovanovic, Gasser, Gailly, Khoffi, Ford)
ImreSamudb528d42017-03-29 13:31:21 +0200256 - [arxiv:1503.08768 cs.CR](https://arxiv.org/abs/1503.08768)
257 - [code](https://github.com/dedis/cothority), [code](https://github.com/dedis/cosi)
ImreSamuacdeec52016-06-05 12:49:47 +0200258- Message Passing for Programming Languages and Operating Systems (Martynas Pumputis ) Master’s Thesis
ImreSamudb528d42017-03-29 13:31:21 +0200259 - [pdf](http://e-collection.library.ethz.ch/eserv/eth:48404/eth-48404-01.pdf)
ImreSamu790a1e92016-06-05 12:56:12 +0200260- Type inference for Go (Emin Gigovic, Philip Malmros )
ImreSamudb528d42017-03-29 13:31:21 +0200261 - [pdf](http://fileadmin.cs.lth.se/cs/Education/EDAN70/CompilerProjects/2015/Reports/GigovicMalmros.pdf)
Damian Gryskia9039ed2016-06-07 13:38:15 +0200262- Open-Source, Platform-Independent Library and Online Scripting Environment for Accessing Thermo Scientific RAW Files. (Kelchtermans, Silva, Argentini, Staes, Vandenbussche, Laukens, Valkenborg, Martens)
263 - https://www.ncbi.nlm.nih.gov/pubmed/26477298
ImreSamu160aeaf2016-06-21 13:26:42 +0200264- Evaluation of performance and productivity metrics of potential programming languages in the HPC environment ( Bachelor Thesis ; Florian Wilkens ) - ( Go, Rust, C, OpenStreetMap )
ImreSamudb528d42017-03-29 13:31:21 +0200265 - [github-code](https://github.com/MrFloya/thesis-ba) , [pdf](https://github.com/MrFloya/thesis-ba/raw/master/tex/thesis.pdf)
Damian Gryski359e8992016-11-21 18:20:49 +0100266- Concurrent Processing of Text Corpus Queries (Rábara, Rychlý)
267 - https://www.sketchengine.co.uk/wp-content/uploads/Concurrent_Processing_2015.pdf
Bryan C. Mills976a4dd2017-04-13 11:46:34 -0400268- Automatic Memory Management Techniques for the Go Programming Language (Davis) (Ph.D. thesis)
269 - https://minerva-access.unimelb.edu.au/handle/11343/58707
sajarwo5fb9a512017-06-09 19:47:55 +0300270- Design Muntoi Web-based Framework and Search Engine Analytics for Thematic Virtual Museums (Sajarwo Anggai) (Ph.D. thesis)
271 - http://ieeexplore.ieee.org/document/7516334/
Damian Gryskiece6a8e2018-04-04 22:50:38 -0700272- A Search Engine Backed by Internet-Wide Scanning (Durumeric, Adrian, Mirian, Bailey, Halderman)
273 - https://censys.io/static/censys.pdf
Damian Gryski3fb68802018-04-04 23:11:27 -0700274- An Extract Function Refactoring for the Go Language (Arasu)
275 - https://etd.auburn.edu/bitstream/handle/10415/4835/Steffi_Gnanaprakasa_MSThesis.pdf
Robin Eklindb2d8a7a2018-04-21 12:46:03 +0200276- Compositional Decompilation using LLVM IR (BSc thesis, Robin Eklind)
Robin Eklind23878c52018-04-21 12:45:25 +0200277 - http://uu.diva-portal.org/smash/record.jsf?pid=diva2%3A911797&dswid=-6147
278 - [code](https://github.com/decomp/decomp)
279 - [pdf](https://github.com/decomp/doc/raw/master/report/compositional_decompilation/compositional_decompilation.pdf)
Damian Gryskic22e4b92018-11-25 08:28:16 -0800280- "U-root: A Go-based, Firmware Embeddable Root File System with On-demand Compilation" (Minnich, Mirtchovski)
281 - [pdf](https://www.usenix.org/system/files/conference/atc15/atc15-paper-minnich.pdf)
282 - [code](https://github.com/u-root/u-root)
Matt Horsnellf6197c62016-06-06 11:42:17 +0100283## 2014
Nicholas Ng5b5bffd2016-06-17 18:27:41 +0100284- PARAGON: an approach for parallelization of power system contingency analysis using Go programming language
285 - http://onlinelibrary.wiley.com/doi/10.1002/etep.1999/full
Matt Horsnellf6197c62016-06-06 11:42:17 +0100286- A Study of Successive Over-relaxation Method Parallelization Over Modern HPC Languages (Mittal)
287 - [arxiv:1401.0763 cs.DC](https://arxiv.org/abs/1401.0763)
288 - [code](https://github.com/sparsh0mittal/sor_serial_parallel_codes)
289- There Is More Consensus in Egalitarian Parliaments (Moraru, Andersen, Kaminsky)
290 - [pdf](https://www.cs.cmu.edu/~dga/papers/epaxos-sosp2013.pdf)
291 - [code](https://github.com/efficient/epaxos)
292 - [Experience with ePaxos: Systems Research using Go](https://da-data.blogspot.com/2013/10/experience-with-epaxos-systems-research.html)
293- Research Problems of Implementing Go
294 - https://talks.golang.org/2014/research.slide (rsc)
295 - https://talks.golang.org/2014/research2.slide (dvyukov)
296- bíogo: a simple high-performance bioinformatics toolkit for the Go language (D. Kortschak, D. Adelson)
297 - [pdf](http://biorxiv.org/content/early/2014/05/12/005033)
Damian Gryskia9039ed2016-06-07 13:38:15 +0200298- P2S: A Fault-Tolerant Publish/Subscribe Infrastructure (Chang, Duan, Meling, Peisert, Zhang)
299 - [pdf](http://cs.unc.edu/~haibin/p2s.pdf)
300- Generating a Google Go framework from an Uppaal model (Dekker)
301 - [pdf](https://www.cs.ru.nl/bachelorscripties/2014/Jip_Dekker___4122100___Generating_Google_Go_framework_from_Uppaal_models.pdf)
302- Using the Go Programming Language in Practice (Westrup, Pettersson)
303 - [pdf](http://users.student.lth.se/dt09ew6/files/thesis.pdf)
Damian Gryski727d59b2016-07-03 11:18:59 +0200304- A Language Support for Exhaustive Fault-Injection in Message-Passing System Models (Suzuki, Watanabe)
305 - [arXiv:1411.3793 cs.SE](https://arxiv.org/abs/1411.3793)
Charles0317f202016-08-19 12:04:49 -0700306- Big Learning with Bayesian Methods
307 - [arXiv:1411.6370 cs.LG](https://arxiv.org/abs/1411.6370)
Damian Gryskiceec2512017-01-25 05:47:36 +0100308- Be General and Don't Give Up Consistency in Geo-Replicated Transactional Systems
309 - [PDF](http://hyflow.org/pubs/opodis14-alvin.pdf)
310 - Project page: [Hyflow](http://www.hyflow.org/hyflow-go/index.html)
Damian Gryskid483e352017-06-05 13:15:00 +0200311- The design and verification of Mumax3 (Vansteenkiste, Leliaert, Dvornik, Garcia-Sanchez, Van Waeyenberge)
312 - https://arxiv.org/abs/1406.7635
313 - https://github.com/mumax/3
Damian Gryski3fb68802018-04-04 23:11:27 -0700314- Building Reliable and Practical Byzantine Fault Tolerance (Duan)
315 - http://sduan.informationsystems.umbc.edu/files/2014-SisiDuan-dissertation.pdf
Matt Horsnellf6197c62016-06-06 11:42:17 +0100316
317## 2013
318- GoPar: Automatic Loop Parallelization of Go Programs (Wetherbee)
319 - [pdf](https://docs.google.com/file/d/0B6tFaBl5qV_gNmpRTnJkcEo4a2M/edit)
320 - [code](https://github.com/wetherbeei/gopar)
321- SCTP in Go ( Olivier Van Acker )
ImreSamudb528d42017-03-29 13:31:21 +0200322 - Keywords: Stream Control Transmission Protocol (SCTP); Transmission Control Protocol (TCP); Go; Networking;
323 - [pdf](https://2013.asiabsdcon.org/papers/abc2013-P7A-paper.pdf)
Matt Horsnellf6197c62016-06-06 11:42:17 +0100324- Benchmarking Usability and Performance of Multicore Languages ( Sebastian Nanz, Scott West, Kaue Soares da Silveira, Bertrand Meyer)
ImreSamudb528d42017-03-29 13:31:21 +0200325 - [arXiv:1302.2837 cs.DC](https://arxiv.org/abs/1302.2837)
Matt Horsnellf6197c62016-06-06 11:42:17 +0100326- Examining the Expert Gap in Parallel Programming (Sebastian Nanz, Scott West, Kaue Soares da Silveira)
ImreSamudb528d42017-03-29 13:31:21 +0200327 - [pdf](http://se.inf.ethz.ch/people/west/expert-gap-europar-2013.pdf)
Damian Gryskia9039ed2016-06-07 13:38:15 +0200328- Acropolis: aggregated client request ordering by Paxos (Jothen)
ImreSamudb528d42017-03-29 13:31:21 +0200329 - https://brage.bibsys.no/xmlui//handle/11250/181825
Damian Gryskia9039ed2016-06-07 13:38:15 +0200330- Implementation and experimental evaluation of live replacement and reconfiguration (Lea)
331 - https://brage.bibsys.no/xmlui//handle/11250/181813
Damian Gryskie6a59682016-06-29 16:43:04 +0200332- Exploiting Parallelism in Coalgebraic Logic Programming (Komendantskaya, Schmidt, Heras)
333 - https://arxiv.org/abs/1312.4454
Egon Elbrefffc21f2017-02-17 23:08:46 +0200334- Parallel Pattern Discovery (Egon Elbre), Master's Thesis, University of Tartu
335 - [pdf](http://egonelbre.github.io/spexs2/Thesis.pdf)
336 - [code](https://github.com/egonelbre/spexs2)
Matt Horsnellf6197c62016-06-06 11:42:17 +0100337
338## 2012
339- Time Warp on the Go (D'Angelo, Ferretti, Marzolla)
340 - [arxiv:1206.2772 cs.DC](https://arxiv.org/abs/1206.2772)
341- Can Go address the multicore issues of today and the manycore problems of tomorrow? (S. Binet)
342 - [pdf](http://iopscience.iop.org/article/10.1088/1742-6596/368/1/012017)
343- GoCxx: a tool to easily leverage C++ legacy code for multicore-friendly Go libraries and frameworks (S. Binet)
344 - [pdf](http://iopscience.iop.org/article/10.1088/1742-6596/396/5/052012)
345- The Buffered π-Calculus: A Model for Concurrent Languages (Deng, Zhang, Deng, Zhong)
346 - [arxiv:1212.6183 cs.LO](https://arxiv.org/abs/1212.6183)
347- Analysis of the Go runtime scheduler (Neil Deshpande,Erica Sponsler,Nathaniel Weiss)
ImreSamudb528d42017-03-29 13:31:21 +0200348 - [pdf](http://www1.cs.columbia.edu/~aho/cs6998/reports/12-12-11_DeshpandeSponslerWeiss_GO.pdf)
Matt Horsnellf6197c62016-06-06 11:42:17 +0100349- A Comparative Study of Programming Models for Concurrency ( Kaue Soares da Silveira) – Porto Alegre: COMGRAD CIC UFRGS, 2012. Final Report (Bachelor)
ImreSamudb528d42017-03-29 13:31:21 +0200350 - [pdf](ftp://ftp.inf.ufrgs.br/pub/geyer/Alunos/KaueSilveira/TG-ComparacaoLinguagensConcorrencia-kaue_soares_da_silveira.pdf)
Damian Gryskia9039ed2016-06-07 13:38:15 +0200351- Debian Code Search (Stapelberg)
352 - [pdf](https://codesearch.debian.net/research/bsc-thesis.pdf)
353- Go’s Concurrency Constructs on the SCC (Prell, Rauber)
354 - [pdf](https://hal.inria.fr/file/index/docid/718924/filename/MARC6_Gos-Concurrency-Constructs-on-the-SCC.pdf)
Damian Gryskic99c5b92018-04-04 23:13:40 -0700355- Comparing Parallel Performance of Go and C++ TBB on a Direct Acyclic Task Graph Using a Dynamic Programming Problem (Serfass, Tang)
356 - http://www.ualr.edu/pxtang/papers/ACMSE12-comparing.pdf
Damian Gryskia9039ed2016-06-07 13:38:15 +0200357
Matt Horsnellf6197c62016-06-06 11:42:17 +0100358
359## 2011
360- ng: What next-generation languages can teach us about HENP frameworks in the manycore era (S. Binet)
361 - [pdf](http://iopscience.iop.org/article/10.1088/1742-6596/331/4/042002)
362- Serving Web Content with Dynamic Process Networks in Go (James Whitehead II)
ImreSamudb528d42017-03-29 13:31:21 +0200363 - [DOI: 10.3233/978-1-60750-774-1-209](http://dx.doi.org/10.3233/978-1-60750-774-1-209)
364 - [pdf](http://www.cs.ox.ac.uk/people/jim.whitehead/cpa2011-draft.pdf)
Damian Gryski9fb55c92016-06-06 15:48:16 +0200365
366## 2010
367- GoHotDraw: Evaluating the Go Programming Language with Design Patterns (Schmager, Cameron, Noble)
368 - [pdf](http://www.doc.ic.ac.uk/~ncameron/papers/schmager_plateau10.pdf)