blob: 2e18d905f8ebf9aa198d57ecf6ad359692e25dc1 [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.
2
Matt Horsnellf6197c62016-06-06 11:42:17 +01003## 2016
4- Privacy, Discovery, and Authentication for the Internet of Things (Wu, Taly, Shankar, Boneh)
5 - [arxiv](https://arxiv.org/abs/1604.06959)
6 - [code](https://vanadium.github.io/)
7- Static Deadlock Detection for Concurrent Go by Global Session Graph Synthesis (Ng, Yoshida)
8 - [pdf](http://www.doc.ic.ac.uk/~cn06/pub/2016/dingo/main.pdf)
9 - [code](https://github.com/nickng/dingo-hunter)
10- A Small-Step Semantics of a Concurrent Calculus with Goroutines and Deferred Functions ( Martin Steffen )
11 - [springer link] (http://link.springer.com/chapter/10.1007%2F978-3-319-30734-3_26)
12 - [pdf] (https://heim.ifi.uio.no/msteffen/download/15/semantics-goroutinesdefer.pdf)
13- Butterfield, Ellis H., "Fog Computing with Go: A Comparative Study" (2016). CMC Senior Theses. Paper 1348.
14 - http://scholarship.claremont.edu/cmc_theses/1348
15- An Implementation and Analysis of a Kernel Network Stack in Go with the CSP Style (Harshal Sheth, Aashish Welling)
16 - [arXiv:1603.05636 cs.OS] ( http://arxiv.org/abs/1603.05636 )
17- PAS-MC: Privacy-preserving Analytics Stream for the Mobile Cloud (Joy, Gerla)
18 - [arXiv:1604.04892 cs.CR](https://arxiv.org/abs/1604.04892)## 2010
Damian Gryski77b0f1e2016-06-05 11:25:53 +020019
Damian Gryski069f87f2016-06-03 21:11:04 +020020## 2015
Damian Gryski069f87f2016-06-03 21:11:04 +020021- Blade: A Data Center Garbage Collector (Terei, Levy)
Damian Gryski77b0f1e2016-06-05 11:25:53 +020022 - [arxiv:1504.02578 cs.DC](https://arxiv.org/abs/1504.02578)
Damian Gryski069f87f2016-06-03 21:11:04 +020023- Flywheel: Google's Data Compression Proxy for the Mobile Web (Agababov, Buettner, Chudnovsky, Cogan, Greenstein, McDaniel, Piatek, Scott, Welsh, Yin)
24 - [pdf](http://research.google.com/pubs/pub43447.html)
25 - [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 -060026- A Machine Learning Strategy to Assist Turbulence Model Development (Brendan Tracey, Karthik Duraisamy, Juan J. Alonso)
Brendan Tracey2da3ab72016-06-04 07:49:12 -060027 - http://arc.aiaa.org/doi/abs/10.2514/6.2015-1287
ImreSamuf78c7782016-06-04 16:53:26 +020028- Implementing an intelligent version of the classical sliding-puzzle game for unix terminals using Golang's concurrency primitives ( Pravendra Singh )
Damian Gryski77b0f1e2016-06-05 11:25:53 +020029 - [arxiv:1503.08345 cs.AI] ( http://arxiv.org/abs/1503.08345 )
30- Keeping Authorities "Honest or Bust" with Decentralized Witness Cosigning (Syta, Tamas, Visher, Wolinsky, Jovanovic, Gasser, Gailly, Khoffi, Ford)
31 - [arxiv:1503.08768 cs.CR](https://arxiv.org/abs/1503.08768)
32 - [code](https://github.com/dedis/cothority), [code](https://github.com/dedis/cosi)
ImreSamuacdeec52016-06-05 12:49:47 +020033- Message Passing for Programming Languages and Operating Systems (Martynas Pumputis ) Masters Thesis
34 - [pdf](http://e-collection.library.ethz.ch/eserv/eth:48404/eth-48404-01.pdf)
ImreSamu790a1e92016-06-05 12:56:12 +020035- Type inference for Go (Emin Gigovic, Philip Malmros )
36 - [pdf](http://fileadmin.cs.lth.se/cs/Education/EDAN70/CompilerProjects/2015/Reports/GigovicMalmros.pdf)
ImreSamuacdeec52016-06-05 12:49:47 +020037
Matt Horsnellf6197c62016-06-06 11:42:17 +010038## 2014
39- A Study of Successive Over-relaxation Method Parallelization Over Modern HPC Languages (Mittal)
40 - [arxiv:1401.0763 cs.DC](https://arxiv.org/abs/1401.0763)
41 - [code](https://github.com/sparsh0mittal/sor_serial_parallel_codes)
42- There Is More Consensus in Egalitarian Parliaments (Moraru, Andersen, Kaminsky)
43 - [pdf](https://www.cs.cmu.edu/~dga/papers/epaxos-sosp2013.pdf)
44 - [code](https://github.com/efficient/epaxos)
45 - [Experience with ePaxos: Systems Research using Go](https://da-data.blogspot.com/2013/10/experience-with-epaxos-systems-research.html)
46- Research Problems of Implementing Go
47 - https://talks.golang.org/2014/research.slide (rsc)
48 - https://talks.golang.org/2014/research2.slide (dvyukov)
49- bíogo: a simple high-performance bioinformatics toolkit for the Go language (D. Kortschak, D. Adelson)
50 - [pdf](http://biorxiv.org/content/early/2014/05/12/005033)
51
52## 2013
53- GoPar: Automatic Loop Parallelization of Go Programs (Wetherbee)
54 - [pdf](https://docs.google.com/file/d/0B6tFaBl5qV_gNmpRTnJkcEo4a2M/edit)
55 - [code](https://github.com/wetherbeei/gopar)
56- SCTP in Go ( Olivier Van Acker )
57 - Keywords: Stream Control Transmission Protocol (SCTP); Transmission Control Protocol (TCP); Go; Networking;
58 - [pdf](https://2013.asiabsdcon.org/papers/abc2013-P7A-paper.pdf)
59- Benchmarking Usability and Performance of Multicore Languages ( Sebastian Nanz, Scott West, Kaue Soares da Silveira, Bertrand Meyer)
60 - [arXiv:1302.2837 cs.DC](https://arxiv.org/abs/1302.2837)
61- Examining the Expert Gap in Parallel Programming (Sebastian Nanz, Scott West, Kaue Soares da Silveira)
62 - [pdf](http://se.inf.ethz.ch/people/west/expert-gap-europar-2013.pdf)
63
64## 2012
65- Time Warp on the Go (D'Angelo, Ferretti, Marzolla)
66 - [arxiv:1206.2772 cs.DC](https://arxiv.org/abs/1206.2772)
67- Can Go address the multicore issues of today and the manycore problems of tomorrow? (S. Binet)
68 - [pdf](http://iopscience.iop.org/article/10.1088/1742-6596/368/1/012017)
69- GoCxx: a tool to easily leverage C++ legacy code for multicore-friendly Go libraries and frameworks (S. Binet)
70 - [pdf](http://iopscience.iop.org/article/10.1088/1742-6596/396/5/052012)
71- The Buffered π-Calculus: A Model for Concurrent Languages (Deng, Zhang, Deng, Zhong)
72 - [arxiv:1212.6183 cs.LO](https://arxiv.org/abs/1212.6183)
73- Analysis of the Go runtime scheduler (Neil Deshpande,Erica Sponsler,Nathaniel Weiss)
74 - [pdf](http://www1.cs.columbia.edu/~aho/cs6998/reports/12-12-11_DeshpandeSponslerWeiss_GO.pdf)
75- A Comparative Study of Programming Models for Concurrency ( Kaue Soares da Silveira) – Porto Alegre: COMGRAD CIC UFRGS, 2012. Final Report (Bachelor)
76 - [pdf](ftp://ftp.inf.ufrgs.br/pub/geyer/Alunos/KaueSilveira/TG-ComparacaoLinguagensConcorrencia-kaue_soares_da_silveira.pdf)
77
78## 2011
79- ng: What next-generation languages can teach us about HENP frameworks in the manycore era (S. Binet)
80 - [pdf](http://iopscience.iop.org/article/10.1088/1742-6596/331/4/042002)
81- Serving Web Content with Dynamic Process Networks in Go (James Whitehead II)
82 - [DOI: 10.3233/978-1-60750-774-1-209](http://dx.doi.org/10.3233/978-1-60750-774-1-209)
Damian Gryski9fb55c92016-06-06 15:48:16 +020083 - [pdf] (http://www.cs.ox.ac.uk/people/jim.whitehead/cpa2011-draft.pdf)
84
85## 2010
86- GoHotDraw: Evaluating the Go Programming Language with Design Patterns (Schmager, Cameron, Noble)
87 - [pdf](http://www.doc.ic.ac.uk/~ncameron/papers/schmager_plateau10.pdf)
88