blob: f85171d405af4e9e452c117a3b756cf05903e383 [file] [log] [blame] [view]
This page lists academic and industry research papers about Go or using Go as the implementation language.
## 2017
- Fencing off Go: Liveness and Safety for Channel-based Programming (J. Lange, N. Ng, B. Toninho, N. Yoshida), POPL 2017
- [doi: 10.1145/3009837.3009847](http://dl.acm.org/citation.cfm?id=3009847)
- [Tool page](http://mrg.doc.ic.ac.uk/tools/gong/), [code](https://github.com/nickng/gong)
## 2016
- Cyber Security Exercise Modeling & Tracking (Joonas Greis) Bachelor’s thesis
- [pdf](https://www.theseus.fi/bitstream/handle/10024/120054/Thesis_rellu.pdf) _"... RESTful API was written with Golang using Go-Json-Rest package ..."_
- Scalable Byzantine Consensus via Hardware-assisted Secret Sharing (Jian Liu, Wenting Li, Ghassan O. Karame, N. Asokan)
- [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)
- Fast and Reliable Byzantine Fault Tolerance (Eric Scott Freeman) Master's thesis in Computer science
- [link](http://hdl.handle.net/11250/2413908), [pdf]( https://brage.bibsys.no/xmlui/bitstream/handle/11250/2413908/Freeman_Eric.pdf?sequence=1)
- Formal verification of concurrency in go (Anuchit Prasertsang, Denduang Pradubsuwun)
- [DOI: 10.1109/JCSSE.2016.7748882](http://dx.doi.org/10.1109/JCSSE.2016.7748882)
- Therapeutic target discovery using Boolean network attractors: updates from kali ( Arnaud Poret ) ( Quantitative Biology > Molecular Networks)
- [arXiv:1611.03144v1 q-bio.MN](https://arxiv.org/abs/1611.03144v1)
- [github.com/arnaudporet/kali](https://github.com/arnaudporet/kali) [Go 100.0%]
- Information Flow Analysis for Go ( Eric Bodden, Ka I. Pun, Martin Steffen, Volker Stolz, Anna-Katharina Wickert)
- [10.1007/978-3-319-47166-2_30](http://link.springer.com/chapter/10.1007/978-3-319-47166-2_30)
- A Productivity Checker for Logic Programming (E. Komendantskaya, P. Johann, M. Schmidt )
- [arXiv:1608.04415 cs.PL](https://arxiv.org/abs/1608.04415)
- project page: http://www.macs.hw.ac.uk/~ek19/CoALP/
- A novel algorithm for detecting multiple covariance and clustering of biological sequences
( Wei Shen & Yan Li) ( Coevolution, Computational models )
- http://www.nature.com/articles/srep30425 , doi:10.1038/srep30425
- Algorithm implementation (golang - only binary ) : http://yanlilab.github.io/fastcov/
- Architecture of the Hyperledger Blockchain Fabric (Christian Cachin)
- [pdf](https://www.zurich.ibm.com/dccl/papers/cachin_dccl.pdf)
- [code]( https://github.com/hyperledger/fabric/)
- Reimagining the Programming Experience ( Mehrdad Afshari , dissertation) GoClr
- [pdf](https://mehrdad.afshari.me/publications/dissertation.pdf)
- MapReduce vs. Pipelining Counting Triangles (Edelmira Pasarella, Maria-Esther Vidal,and Cristina Zoltan)
- [pdf](http://ceur-ws.org/Vol-1644/paper33.pdf)
- Software Engineering with PSF and Go (Erik van der Schaaf) Thesis, University of Amsterdam
- [pdf](https://esc.fnwi.uva.nl/thesis/centraal/files/f1899376590.pdf)
- Parametric Polymorphism in the Go Programming Language (Matthew Allen) University of Texas,
Turing Scholars honors thesis
- [pdf] (http://apps.cs.utexas.edu/tech_reports/reports/tr/TR-2231.pdf)
- [code] (https://github.com/Matt343/llgo) ( LLGO based )
- Static Trace-Based Deadlock Analysis for Synchronous Mini-Go ( Kai Stadtmüller, Martin Sulzmann, and Peter Thiemann )
- [pdf] (http://www.home.hs-karlsruhe.de/~suma0002/publications/TraceBasedDeadlockAnalysisMiniGo.pdf)
- [code] (https://github.com/KaiSta/gopherlyzer) - first beta implementation : gopherlyzer
- Continuous Query-Based Syndication: Distributed, Expressive Messaging for the IoT( Gabriel Fierro, Erik Krogen )
- [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)
- [code](https://github.com/gtfierro/cs262-project) ( Go and Python implementation )
- Privacy, Discovery, and Authentication for the Internet of Things (Wu, Taly, Shankar, Boneh)
- [arxiv](https://arxiv.org/abs/1604.06959)
- [code](https://vanadium.github.io/)
- Static Deadlock Detection for Concurrent Go by Global Session Graph Synthesis (Ng, Yoshida)
- [pdf](http://www.doc.ic.ac.uk/~cn06/pub/2016/dingo/main.pdf)
- [code](https://github.com/nickng/dingo-hunter)
- A Small-Step Semantics of a Concurrent Calculus with Goroutines and Deferred Functions ( Martin Steffen )
- [springer link] (http://link.springer.com/chapter/10.1007%2F978-3-319-30734-3_26)
- Butterfield, Ellis H., "Fog Computing with Go: A Comparative Study" (2016). CMC Senior Theses. Paper 1348.
- http://scholarship.claremont.edu/cmc_theses/1348
- An Implementation and Analysis of a Kernel Network Stack in Go with the CSP Style (Harshal Sheth, Aashish Welling)
- [arXiv:1603.05636 cs.OS] ( http://arxiv.org/abs/1603.05636 )
- PAS-MC: Privacy-preserving Analytics Stream for the Mobile Cloud (Joy, Gerla)
- [arXiv:1604.04892 cs.CR](https://arxiv.org/abs/1604.04892)
- Developing an Ethereum Blockchain Application (Triantafyllidis)
- [pdf](https://homepages.staff.os3.nl/~delaat/rp/2015-2016/p53/report.pdf)
- Identifying and characterizing Sybils in the Tor network (Winter, Ensafi, Loesing, and Feamster)
- [pdf] (https://nymity.ch/sybilhunting/pdf/sybilhunting.pdf)
- [code] (https://github.com/NullHypothesis/sybilhunter)
- A Distributed Implementation of the Graph Database System: DGraph
- [pdf](https://www.dropbox.com/s/7h4ytak39r2pdun/Ashwin_Thesis.pdf?dl=0)
## 2015
- Tinzenite: Encrypted Peer to Peer File Synchronization via the Tox Protocol (Tamino P.S.M. Hartmann) (Master thesis at Ulm University)
- [pdf](http://dbis.eprints.uni-ulm.de/1334/1/ma_final_hartmann.pdf)
- [github.com/tinzenite](https://github.com/tinzenite)
- Blade: A Data Center Garbage Collector (Terei, Levy)
- [arxiv:1504.02578 cs.DC](https://arxiv.org/abs/1504.02578)
- Flywheel: Google's Data Compression Proxy for the Mobile Web (Agababov, Buettner, Chudnovsky, Cogan, Greenstein, McDaniel, Piatek, Scott, Welsh, Yin)
- [pdf](http://research.google.com/pubs/pub43447.html)
- [Rewriting a large production system in Go](http://matt-welsh.blogspot.com/2013/08/rewriting-large-production-system-in-go.html)
- A Machine Learning Strategy to Assist Turbulence Model Development (Brendan Tracey, Karthik Duraisamy, Juan J. Alonso)
- http://arc.aiaa.org/doi/abs/10.2514/6.2015-1287
- Implementing an intelligent version of the classical sliding-puzzle game for unix terminals using Golang's concurrency primitives ( Pravendra Singh )
- [arxiv:1503.08345 cs.AI] ( http://arxiv.org/abs/1503.08345 )
- Keeping Authorities "Honest or Bust" with Decentralized Witness Cosigning (Syta, Tamas, Visher, Wolinsky, Jovanovic, Gasser, Gailly, Khoffi, Ford)
- [arxiv:1503.08768 cs.CR](https://arxiv.org/abs/1503.08768)
- [code](https://github.com/dedis/cothority), [code](https://github.com/dedis/cosi)
- Message Passing for Programming Languages and Operating Systems (Martynas Pumputis ) Master’s Thesis
- [pdf](http://e-collection.library.ethz.ch/eserv/eth:48404/eth-48404-01.pdf)
- Type inference for Go (Emin Gigovic, Philip Malmros )
- [pdf](http://fileadmin.cs.lth.se/cs/Education/EDAN70/CompilerProjects/2015/Reports/GigovicMalmros.pdf)
- Open-Source, Platform-Independent Library and Online Scripting Environment for Accessing Thermo Scientific RAW Files. (Kelchtermans, Silva, Argentini, Staes, Vandenbussche, Laukens, Valkenborg, Martens)
- https://www.ncbi.nlm.nih.gov/pubmed/26477298
- Evaluation of performance and productivity metrics of potential programming languages in the HPC environment ( Bachelor Thesis ; Florian Wilkens ) - ( Go, Rust, C, OpenStreetMap )
- [github-code](https://github.com/MrFloya/thesis-ba) , [pdf](https://github.com/MrFloya/thesis-ba/raw/master/tex/thesis.pdf)
- Concurrent Processing of Text Corpus Queries (Rábara, Rychlý)
- https://www.sketchengine.co.uk/wp-content/uploads/Concurrent_Processing_2015.pdf
## 2014
- PARAGON: an approach for parallelization of power system contingency analysis using Go programming language
- http://onlinelibrary.wiley.com/doi/10.1002/etep.1999/full
- A Study of Successive Over-relaxation Method Parallelization Over Modern HPC Languages (Mittal)
- [arxiv:1401.0763 cs.DC](https://arxiv.org/abs/1401.0763)
- [code](https://github.com/sparsh0mittal/sor_serial_parallel_codes)
- There Is More Consensus in Egalitarian Parliaments (Moraru, Andersen, Kaminsky)
- [pdf](https://www.cs.cmu.edu/~dga/papers/epaxos-sosp2013.pdf)
- [code](https://github.com/efficient/epaxos)
- [Experience with ePaxos: Systems Research using Go](https://da-data.blogspot.com/2013/10/experience-with-epaxos-systems-research.html)
- Research Problems of Implementing Go
- https://talks.golang.org/2014/research.slide (rsc)
- https://talks.golang.org/2014/research2.slide (dvyukov)
- bíogo: a simple high-performance bioinformatics toolkit for the Go language (D. Kortschak, D. Adelson)
- [pdf](http://biorxiv.org/content/early/2014/05/12/005033)
- P2S: A Fault-Tolerant Publish/Subscribe Infrastructure (Chang, Duan, Meling, Peisert, Zhang)
- [pdf](http://cs.unc.edu/~haibin/p2s.pdf)
- Generating a Google Go framework from an Uppaal model (Dekker)
- [pdf](https://www.cs.ru.nl/bachelorscripties/2014/Jip_Dekker___4122100___Generating_Google_Go_framework_from_Uppaal_models.pdf)
- Using the Go Programming Language in Practice (Westrup, Pettersson)
- [pdf](http://users.student.lth.se/dt09ew6/files/thesis.pdf)
- A Language Support for Exhaustive Fault-Injection in Message-Passing System Models (Suzuki, Watanabe)
- [arXiv:1411.3793 cs.SE](https://arxiv.org/abs/1411.3793)
- Big Learning with Bayesian Methods
- [arXiv:1411.6370 cs.LG](https://arxiv.org/abs/1411.6370)
## 2013
- GoPar: Automatic Loop Parallelization of Go Programs (Wetherbee)
- [pdf](https://docs.google.com/file/d/0B6tFaBl5qV_gNmpRTnJkcEo4a2M/edit)
- [code](https://github.com/wetherbeei/gopar)
- SCTP in Go ( Olivier Van Acker )
- Keywords: Stream Control Transmission Protocol (SCTP); Transmission Control Protocol (TCP); Go; Networking;
- [pdf](https://2013.asiabsdcon.org/papers/abc2013-P7A-paper.pdf)
- Benchmarking Usability and Performance of Multicore Languages ( Sebastian Nanz, Scott West, Kaue Soares da Silveira, Bertrand Meyer)
- [arXiv:1302.2837 cs.DC](https://arxiv.org/abs/1302.2837)
- Examining the Expert Gap in Parallel Programming (Sebastian Nanz, Scott West, Kaue Soares da Silveira)
- [pdf](http://se.inf.ethz.ch/people/west/expert-gap-europar-2013.pdf)
- Acropolis: aggregated client request ordering by Paxos (Jothen)
- https://brage.bibsys.no/xmlui//handle/11250/181825
- Implementation and experimental evaluation of live replacement and reconfiguration (Lea)
- https://brage.bibsys.no/xmlui//handle/11250/181813
- Exploiting Parallelism in Coalgebraic Logic Programming (Komendantskaya, Schmidt, Heras)
- https://arxiv.org/abs/1312.4454
## 2012
- Time Warp on the Go (D'Angelo, Ferretti, Marzolla)
- [arxiv:1206.2772 cs.DC](https://arxiv.org/abs/1206.2772)
- Can Go address the multicore issues of today and the manycore problems of tomorrow? (S. Binet)
- [pdf](http://iopscience.iop.org/article/10.1088/1742-6596/368/1/012017)
- GoCxx: a tool to easily leverage C++ legacy code for multicore-friendly Go libraries and frameworks (S. Binet)
- [pdf](http://iopscience.iop.org/article/10.1088/1742-6596/396/5/052012)
- The Buffered π-Calculus: A Model for Concurrent Languages (Deng, Zhang, Deng, Zhong)
- [arxiv:1212.6183 cs.LO](https://arxiv.org/abs/1212.6183)
- Analysis of the Go runtime scheduler (Neil Deshpande,Erica Sponsler,Nathaniel Weiss)
- [pdf](http://www1.cs.columbia.edu/~aho/cs6998/reports/12-12-11_DeshpandeSponslerWeiss_GO.pdf)
- A Comparative Study of Programming Models for Concurrency ( Kaue Soares da Silveira) – Porto Alegre: COMGRAD CIC UFRGS, 2012. Final Report (Bachelor)
- [pdf](ftp://ftp.inf.ufrgs.br/pub/geyer/Alunos/KaueSilveira/TG-ComparacaoLinguagensConcorrencia-kaue_soares_da_silveira.pdf)
- Debian Code Search (Stapelberg)
- [pdf](https://codesearch.debian.net/research/bsc-thesis.pdf)
- Go’s Concurrency Constructs on the SCC (Prell, Rauber)
- [pdf](https://hal.inria.fr/file/index/docid/718924/filename/MARC6_Gos-Concurrency-Constructs-on-the-SCC.pdf)
## 2011
- ng: What next-generation languages can teach us about HENP frameworks in the manycore era (S. Binet)
- [pdf](http://iopscience.iop.org/article/10.1088/1742-6596/331/4/042002)
- Serving Web Content with Dynamic Process Networks in Go (James Whitehead II)
- [DOI: 10.3233/978-1-60750-774-1-209](http://dx.doi.org/10.3233/978-1-60750-774-1-209)
- [pdf] (http://www.cs.ox.ac.uk/people/jim.whitehead/cpa2011-draft.pdf)
## 2010
- GoHotDraw: Evaluating the Go Programming Language with Design Patterns (Schmager, Cameron, Noble)
- [pdf](http://www.doc.ic.ac.uk/~ncameron/papers/schmager_plateau10.pdf)