Damian Gryski | 069f87f | 2016-06-03 21:11:04 +0200 | [diff] [blame] | 1 | This page lists academic and industry research papers about Go or using Go as the implementation language. |
| 2 | |
Matt Horsnell | f6197c6 | 2016-06-06 11:42:17 +0100 | [diff] [blame] | 3 | ## 2016 |
ImreSamu | c0aa3cf | 2016-07-09 16:16:35 +0200 | [diff] [blame^] | 4 | - Parametric Polymorphism in the Go Programming Language (Matthew Allen) University of Texas, |
| 5 | Turing Scholars honors thesis |
| 6 | - [pdf] (http://apps.cs.utexas.edu/tech_reports/reports/tr/TR-2231.pdf) |
| 7 | - [code] (https://github.com/Matt343/llgo) ( LLGO based ) |
ImreSamu | 55b76a3 | 2016-07-02 12:53:03 +0200 | [diff] [blame] | 8 | - Static Trace-Based Deadlock Analysis for Synchronous Mini-Go ( Kai Stadtmüller, Martin Sulzmann, and Peter Thiemann ) |
| 9 | - [pdf] (http://www.home.hs-karlsruhe.de/~suma0002/publications/TraceBasedDeadlockAnalysisMiniGo.pdf) |
| 10 | - [code] (https://github.com/KaiSta/gopherlyzer) - first beta implementation : gopherlyzer |
ImreSamu | eb69acc | 2016-06-25 17:36:17 +0200 | [diff] [blame] | 11 | - Continuous Query-Based Syndication: Distributed, Expressive Messaging for the IoT( Gabriel Fierro, Erik Krogen ) |
| 12 | - [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) |
| 13 | - [code](https://github.com/gtfierro/cs262-project) ( Go and Python implementation ) |
Matt Horsnell | f6197c6 | 2016-06-06 11:42:17 +0100 | [diff] [blame] | 14 | - Privacy, Discovery, and Authentication for the Internet of Things (Wu, Taly, Shankar, Boneh) |
| 15 | - [arxiv](https://arxiv.org/abs/1604.06959) |
| 16 | - [code](https://vanadium.github.io/) |
| 17 | - Static Deadlock Detection for Concurrent Go by Global Session Graph Synthesis (Ng, Yoshida) |
| 18 | - [pdf](http://www.doc.ic.ac.uk/~cn06/pub/2016/dingo/main.pdf) |
| 19 | - [code](https://github.com/nickng/dingo-hunter) |
| 20 | - A Small-Step Semantics of a Concurrent Calculus with Goroutines and Deferred Functions ( Martin Steffen ) |
| 21 | - [springer link] (http://link.springer.com/chapter/10.1007%2F978-3-319-30734-3_26) |
| 22 | - [pdf] (https://heim.ifi.uio.no/msteffen/download/15/semantics-goroutinesdefer.pdf) |
| 23 | - Butterfield, Ellis H., "Fog Computing with Go: A Comparative Study" (2016). CMC Senior Theses. Paper 1348. |
| 24 | - http://scholarship.claremont.edu/cmc_theses/1348 |
| 25 | - An Implementation and Analysis of a Kernel Network Stack in Go with the CSP Style (Harshal Sheth, Aashish Welling) |
| 26 | - [arXiv:1603.05636 cs.OS] ( http://arxiv.org/abs/1603.05636 ) |
| 27 | - PAS-MC: Privacy-preserving Analytics Stream for the Mobile Cloud (Joy, Gerla) |
Damian Gryski | a9039ed | 2016-06-07 13:38:15 +0200 | [diff] [blame] | 28 | - [arXiv:1604.04892 cs.CR](https://arxiv.org/abs/1604.04892) |
| 29 | - Developing an Ethereum Blockchain Application (Triantafyllidis) |
| 30 | - [pdf](https://homepages.staff.os3.nl/~delaat/rp/2015-2016/p53/report.pdf) |
Philipp Winter | 7695ecd | 2016-06-10 22:36:36 +0000 | [diff] [blame] | 31 | - Identifying and characterizing Sybils in the Tor network (Winter, Ensafi, Loesing, and Feamster) |
| 32 | - [pdf] (https://nymity.ch/sybilhunting/pdf/sybilhunting.pdf) |
| 33 | - [code] (https://github.com/NullHypothesis/sybilhunter) |
Damian Gryski | f31c7da | 2016-06-22 14:41:01 +0200 | [diff] [blame] | 34 | - A Distributed Implementation of the Graph Database System: DGraph |
| 35 | - [pdf](https://www.dropbox.com/s/7h4ytak39r2pdun/Ashwin_Thesis.pdf?dl=0) |
Damian Gryski | 77b0f1e | 2016-06-05 11:25:53 +0200 | [diff] [blame] | 36 | |
Damian Gryski | 069f87f | 2016-06-03 21:11:04 +0200 | [diff] [blame] | 37 | ## 2015 |
Damian Gryski | 069f87f | 2016-06-03 21:11:04 +0200 | [diff] [blame] | 38 | - Blade: A Data Center Garbage Collector (Terei, Levy) |
Damian Gryski | 77b0f1e | 2016-06-05 11:25:53 +0200 | [diff] [blame] | 39 | - [arxiv:1504.02578 cs.DC](https://arxiv.org/abs/1504.02578) |
Damian Gryski | 069f87f | 2016-06-03 21:11:04 +0200 | [diff] [blame] | 40 | - Flywheel: Google's Data Compression Proxy for the Mobile Web (Agababov, Buettner, Chudnovsky, Cogan, Greenstein, McDaniel, Piatek, Scott, Welsh, Yin) |
| 41 | - [pdf](http://research.google.com/pubs/pub43447.html) |
| 42 | - [Rewriting a large production system in Go](http://matt-welsh.blogspot.com/2013/08/rewriting-large-production-system-in-go.html) |
Brendan Tracey | d99ac34 | 2016-06-04 07:49:45 -0600 | [diff] [blame] | 43 | - A Machine Learning Strategy to Assist Turbulence Model Development (Brendan Tracey, Karthik Duraisamy, Juan J. Alonso) |
Brendan Tracey | 2da3ab7 | 2016-06-04 07:49:12 -0600 | [diff] [blame] | 44 | - http://arc.aiaa.org/doi/abs/10.2514/6.2015-1287 |
ImreSamu | f78c778 | 2016-06-04 16:53:26 +0200 | [diff] [blame] | 45 | - Implementing an intelligent version of the classical sliding-puzzle game for unix terminals using Golang's concurrency primitives ( Pravendra Singh ) |
Damian Gryski | 77b0f1e | 2016-06-05 11:25:53 +0200 | [diff] [blame] | 46 | - [arxiv:1503.08345 cs.AI] ( http://arxiv.org/abs/1503.08345 ) |
| 47 | - Keeping Authorities "Honest or Bust" with Decentralized Witness Cosigning (Syta, Tamas, Visher, Wolinsky, Jovanovic, Gasser, Gailly, Khoffi, Ford) |
| 48 | - [arxiv:1503.08768 cs.CR](https://arxiv.org/abs/1503.08768) |
| 49 | - [code](https://github.com/dedis/cothority), [code](https://github.com/dedis/cosi) |
ImreSamu | acdeec5 | 2016-06-05 12:49:47 +0200 | [diff] [blame] | 50 | - Message Passing for Programming Languages and Operating Systems (Martynas Pumputis ) Master’s Thesis |
| 51 | - [pdf](http://e-collection.library.ethz.ch/eserv/eth:48404/eth-48404-01.pdf) |
ImreSamu | 790a1e9 | 2016-06-05 12:56:12 +0200 | [diff] [blame] | 52 | - Type inference for Go (Emin Gigovic, Philip Malmros ) |
| 53 | - [pdf](http://fileadmin.cs.lth.se/cs/Education/EDAN70/CompilerProjects/2015/Reports/GigovicMalmros.pdf) |
Damian Gryski | a9039ed | 2016-06-07 13:38:15 +0200 | [diff] [blame] | 54 | - Open-Source, Platform-Independent Library and Online Scripting Environment for Accessing Thermo Scientific RAW Files. (Kelchtermans, Silva, Argentini, Staes, Vandenbussche, Laukens, Valkenborg, Martens) |
| 55 | - https://www.ncbi.nlm.nih.gov/pubmed/26477298 |
ImreSamu | 160aeaf | 2016-06-21 13:26:42 +0200 | [diff] [blame] | 56 | - Evaluation of performance and productivity metrics of potential programming languages in the HPC environment ( Bachelor Thesis ; Florian Wilkens ) - ( Go, Rust, C, OpenStreetMap ) |
| 57 | - [github-code](https://github.com/MrFloya/thesis-ba) , [pdf](https://github.com/MrFloya/thesis-ba/raw/master/tex/thesis.pdf) |
ImreSamu | acdeec5 | 2016-06-05 12:49:47 +0200 | [diff] [blame] | 58 | |
Matt Horsnell | f6197c6 | 2016-06-06 11:42:17 +0100 | [diff] [blame] | 59 | ## 2014 |
Nicholas Ng | 5b5bffd | 2016-06-17 18:27:41 +0100 | [diff] [blame] | 60 | - PARAGON: an approach for parallelization of power system contingency analysis using Go programming language |
| 61 | - http://onlinelibrary.wiley.com/doi/10.1002/etep.1999/full |
Matt Horsnell | f6197c6 | 2016-06-06 11:42:17 +0100 | [diff] [blame] | 62 | - A Study of Successive Over-relaxation Method Parallelization Over Modern HPC Languages (Mittal) |
| 63 | - [arxiv:1401.0763 cs.DC](https://arxiv.org/abs/1401.0763) |
| 64 | - [code](https://github.com/sparsh0mittal/sor_serial_parallel_codes) |
| 65 | - There Is More Consensus in Egalitarian Parliaments (Moraru, Andersen, Kaminsky) |
| 66 | - [pdf](https://www.cs.cmu.edu/~dga/papers/epaxos-sosp2013.pdf) |
| 67 | - [code](https://github.com/efficient/epaxos) |
| 68 | - [Experience with ePaxos: Systems Research using Go](https://da-data.blogspot.com/2013/10/experience-with-epaxos-systems-research.html) |
| 69 | - Research Problems of Implementing Go |
| 70 | - https://talks.golang.org/2014/research.slide (rsc) |
| 71 | - https://talks.golang.org/2014/research2.slide (dvyukov) |
| 72 | - bíogo: a simple high-performance bioinformatics toolkit for the Go language (D. Kortschak, D. Adelson) |
| 73 | - [pdf](http://biorxiv.org/content/early/2014/05/12/005033) |
Damian Gryski | a9039ed | 2016-06-07 13:38:15 +0200 | [diff] [blame] | 74 | - P2S: A Fault-Tolerant Publish/Subscribe Infrastructure (Chang, Duan, Meling, Peisert, Zhang) |
| 75 | - [pdf](http://cs.unc.edu/~haibin/p2s.pdf) |
| 76 | - Generating a Google Go framework from an Uppaal model (Dekker) |
| 77 | - [pdf](https://www.cs.ru.nl/bachelorscripties/2014/Jip_Dekker___4122100___Generating_Google_Go_framework_from_Uppaal_models.pdf) |
| 78 | - Using the Go Programming Language in Practice (Westrup, Pettersson) |
| 79 | - [pdf](http://users.student.lth.se/dt09ew6/files/thesis.pdf) |
Damian Gryski | 727d59b | 2016-07-03 11:18:59 +0200 | [diff] [blame] | 80 | - A Language Support for Exhaustive Fault-Injection in Message-Passing System Models (Suzuki, Watanabe) |
| 81 | - [arXiv:1411.3793 cs.SE](https://arxiv.org/abs/1411.3793) |
Matt Horsnell | f6197c6 | 2016-06-06 11:42:17 +0100 | [diff] [blame] | 82 | |
| 83 | ## 2013 |
| 84 | - GoPar: Automatic Loop Parallelization of Go Programs (Wetherbee) |
| 85 | - [pdf](https://docs.google.com/file/d/0B6tFaBl5qV_gNmpRTnJkcEo4a2M/edit) |
| 86 | - [code](https://github.com/wetherbeei/gopar) |
| 87 | - SCTP in Go ( Olivier Van Acker ) |
| 88 | - Keywords: Stream Control Transmission Protocol (SCTP); Transmission Control Protocol (TCP); Go; Networking; |
| 89 | - [pdf](https://2013.asiabsdcon.org/papers/abc2013-P7A-paper.pdf) |
| 90 | - Benchmarking Usability and Performance of Multicore Languages ( Sebastian Nanz, Scott West, Kaue Soares da Silveira, Bertrand Meyer) |
| 91 | - [arXiv:1302.2837 cs.DC](https://arxiv.org/abs/1302.2837) |
| 92 | - Examining the Expert Gap in Parallel Programming (Sebastian Nanz, Scott West, Kaue Soares da Silveira) |
| 93 | - [pdf](http://se.inf.ethz.ch/people/west/expert-gap-europar-2013.pdf) |
Damian Gryski | a9039ed | 2016-06-07 13:38:15 +0200 | [diff] [blame] | 94 | - Acropolis: aggregated client request ordering by Paxos (Jothen) |
| 95 | - https://brage.bibsys.no/xmlui//handle/11250/181825 |
| 96 | - Implementation and experimental evaluation of live replacement and reconfiguration (Lea) |
| 97 | - https://brage.bibsys.no/xmlui//handle/11250/181813 |
Damian Gryski | e6a5968 | 2016-06-29 16:43:04 +0200 | [diff] [blame] | 98 | - Exploiting Parallelism in Coalgebraic Logic Programming (Komendantskaya, Schmidt, Heras) |
| 99 | - https://arxiv.org/abs/1312.4454 |
Matt Horsnell | f6197c6 | 2016-06-06 11:42:17 +0100 | [diff] [blame] | 100 | |
| 101 | ## 2012 |
| 102 | - Time Warp on the Go (D'Angelo, Ferretti, Marzolla) |
| 103 | - [arxiv:1206.2772 cs.DC](https://arxiv.org/abs/1206.2772) |
| 104 | - Can Go address the multicore issues of today and the manycore problems of tomorrow? (S. Binet) |
| 105 | - [pdf](http://iopscience.iop.org/article/10.1088/1742-6596/368/1/012017) |
| 106 | - GoCxx: a tool to easily leverage C++ legacy code for multicore-friendly Go libraries and frameworks (S. Binet) |
| 107 | - [pdf](http://iopscience.iop.org/article/10.1088/1742-6596/396/5/052012) |
| 108 | - The Buffered π-Calculus: A Model for Concurrent Languages (Deng, Zhang, Deng, Zhong) |
| 109 | - [arxiv:1212.6183 cs.LO](https://arxiv.org/abs/1212.6183) |
| 110 | - Analysis of the Go runtime scheduler (Neil Deshpande,Erica Sponsler,Nathaniel Weiss) |
| 111 | - [pdf](http://www1.cs.columbia.edu/~aho/cs6998/reports/12-12-11_DeshpandeSponslerWeiss_GO.pdf) |
| 112 | - A Comparative Study of Programming Models for Concurrency ( Kaue Soares da Silveira) – Porto Alegre: COMGRAD CIC UFRGS, 2012. Final Report (Bachelor) |
| 113 | - [pdf](ftp://ftp.inf.ufrgs.br/pub/geyer/Alunos/KaueSilveira/TG-ComparacaoLinguagensConcorrencia-kaue_soares_da_silveira.pdf) |
Damian Gryski | a9039ed | 2016-06-07 13:38:15 +0200 | [diff] [blame] | 114 | - Debian Code Search (Stapelberg) |
| 115 | - [pdf](https://codesearch.debian.net/research/bsc-thesis.pdf) |
| 116 | - Go’s Concurrency Constructs on the SCC (Prell, Rauber) |
| 117 | - [pdf](https://hal.inria.fr/file/index/docid/718924/filename/MARC6_Gos-Concurrency-Constructs-on-the-SCC.pdf) |
| 118 | |
Matt Horsnell | f6197c6 | 2016-06-06 11:42:17 +0100 | [diff] [blame] | 119 | |
| 120 | ## 2011 |
| 121 | - ng: What next-generation languages can teach us about HENP frameworks in the manycore era (S. Binet) |
| 122 | - [pdf](http://iopscience.iop.org/article/10.1088/1742-6596/331/4/042002) |
| 123 | - Serving Web Content with Dynamic Process Networks in Go (James Whitehead II) |
| 124 | - [DOI: 10.3233/978-1-60750-774-1-209](http://dx.doi.org/10.3233/978-1-60750-774-1-209) |
Damian Gryski | 9fb55c9 | 2016-06-06 15:48:16 +0200 | [diff] [blame] | 125 | - [pdf] (http://www.cs.ox.ac.uk/people/jim.whitehead/cpa2011-draft.pdf) |
| 126 | |
| 127 | ## 2010 |
| 128 | - GoHotDraw: Evaluating the Go Programming Language with Design Patterns (Schmager, Cameron, Noble) |
| 129 | - [pdf](http://www.doc.ic.ac.uk/~ncameron/papers/schmager_plateau10.pdf) |
| 130 | |