Software Systems
Delivering Google's products to our users requires computer systems that have a scale previously unknown to the industry. Building on our hardware foundation, we develop technology across the entire systems stack, from operating system device drivers all the way up to multi-site software systems that run on hundreds of thousands of computers. We design, build and operate warehouse-scale computer systems that are deployed across the globe. We build storage systems that scale to exabytes, approach the performance of RAM, and never lose a byte. We design algorithms that transform our understanding of what is possible. Thanks to the distributed systems we provide our developers, they are some of the most productive in the industry. And we write and publish research papers to share what we have learned, and because peer feedback and interaction helps us build better systems that benefit everybody.
233 Publications
-
Andrew Macvean, Martin Maly, John Daughtry
CHI EA '16 Proceedings of the 2016 CHI Conference Extended Abstracts on Human Factors in Computing Systems, ACM New York, NY, USA, pp. 849-858
-
Andrew Macvean, Luke Church, John Daughtry, Craig Citro
Proceedings of the 26th annual workshop of the Psychology of Programming Interest Group (2016) (to appear)
-
Accelerating SREs to On-Call and Beyond
Andrew Widdowson, Shylaja Nukala
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Addressing Cascading Failures
Mike Ulrich
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
AutoFDO: Automatic Feedback-Directed Optimization for Warehouse-Scale Applications
Dehao Chen, David Xinliang Li, Tipp Moseley
CGO 2016 Proceedings of the 2016 International Symposium on Code Generation and Optimization, ACM, New York, NY, USA, pp. 12-23
-
Automatically Scheduling Halide Image Processing Pipelines
Andrew Adams, Dillon Sharlet, Jonathan Ragan-Kelley, Kayvon Fatahalian, Ravi Teja Mullapudi
SIGGRAPH 2016 (2016)
-
Being On-Call
Andrea Spadaccini, Kavita Guliani
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Brendan Burns, Brian Grant, David Oppenheimer, Eric Brewer, John Wilkes
ACM Queue, vol. 14 (2016), pp. 70-93
-
Communication and Collaboration in SRE
Niall Richard Murphy, Alex Rodriguez, Carl Crous, Dario Freni, Dylan Curley, Lorenzo Blanco, Todd Underwood, Betsy Beyer
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Continuous Deep Q-Learning with Model-based Acceleration
Shixiang Gu, Timothy Lillicrap, Ilya Sutskever, Sergey Levine
International Conference on Machine Learning (2016)
-
Data Integrity: What You Read Is What You Wrote
Raymond Blum, Rhandeev Singh, Betsy Beyer
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Data Processing Pipelines
Dan Dennison, Tim Harvey
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Dealing with Interrupts
Dave O'Connor, Diane Bates
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Jeffrey Mahler, Florian T. Pokorny, Brian Hou, Melrose Roderick, Michael Laskey, Mathieu Aubry, Kai Kohlhoff, Torsten Kroeger, James Kuffner, Ken Goldberg
2016 IEEE International Conference on Robotics and Automation (ICRA) (2016)
-
DieHard: reliable scheduling to survive correlated failures in cloud data centers
Mina Sedaghat, Eddie Wadbro, John Wilkes, Sara De Luna, Oleg Seleznjev, Erik Elmroth
International Symposium on Cluster, Cloud and Grid Computing (CCGrid), IEEE/ACM, Cartagena, Colombia (2016), pp. 52-59
-
Directed Synthesis of Failing Concurrent Executions
Malavika Samak, Omer Tripp, Murali Krishna Ramanathan
OOPSLA 2016
-
Distributed Periodic Scheduling with Cron
Steve Davidovic, Kavita Guliani
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Effective Troubleshooting
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Eliminating Toil
Vivek Rau, Betsy Beyer
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Embedding an SRE to Recover from Operational Overload
Randall Bosetti, Diane Bates
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Embracing Risk
Marc Alvidrez, Kavita Guliani
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Emergency Response
Corey Adam Baye, Diane Bates
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
GPUCC - An Open-Source GPGPU Compiler
Jingyue Wu, Artem Belevich, Eli Bendersky, Mark Heffernan, Chris Leary, Jacques Pienaar, Bjarke Roune, Rob Springer, Xuetian Weng, Robert Hundt
Proceedings of the 2016 International Symposium on Code Generation and Optimization, ACM, New York, NY, pp. 105-116
-
Handling Overload
Alejandro Forero Cuervo, Sarah Chavis
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
IPA: Improving Predictive Analysis with Pointer Analysis
Peng Liu, Omer Tripp, Xiangyu Zhang
ISSTA 2016
-
Idle Time Garbage Collection Scheduling
Ulan Degenbaev, Jochen Eisinger, Manfred Ernst, Ross McIlroy, Hannes Payer
37th annual ACM SIGPLAN conference on Programming Language Design and Implementation, ACM, New York, NY, USA (2016), pp. 570-583
-
Sergey Levine, Peter Pastor Sampedro, Alex Krizhevsky, Deirdre Quillen
International Symposium on Experimental Robotics (2016)
-
Lessons Learned from Other Industries
Jennifer Petoff, Betsy Beyer
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Load Balancing at the Frontend
Piotr Lewandowski, Sarah Chavis
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Load Balancing in the Datacenter
Alejandro Forero Cuervo, Sarah Chavis
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Managing Critical State: Distributed Consensus for Reliability
Laura Nolan, Tim Harvey
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Managing Incidents
Andrew Stribblehill, Kavita Guliani
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Monitoring Distributed Systems
Rob Ewaschuk, Betsy Beyer
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Physical and Virtual Cell Phone Sensors for Traffic Control: Algorithms and Deployment Impact
Shumeet Baluja, Michele Covell, Rahul Sukthankar
2016 IEEE Sensors Application Symposium
-
Postmortem Culture: Learning from Failure
John Lunney, Sue Lueder, Gary O' Connor
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Practical Alerting from Time-Series Data
Jamie Wilkinson, Kavita Guliani
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Real-Time Loop Closure in 2D LIDAR SLAM
Wolfgang Hess, Damon Kohler, Holger Rapp, Daniel Andor
2016 IEEE International Conference on Robotics and Automation (ICRA), pp. 1271-1278
-
NINTH TRIENNIAL SYMPOSIUM ON TRANSPORTATION ANALYSIS (2016) (to appear)
-
Release Engineering
Dinah McNutt, Betsy Beyer, Tim Harvey
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Reliable Product Launches at Scale
Rhandeev Singh, Sebastian Kirsch, Vivek Rau, Betsy Beyer
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Revamping JavaScript Static Analysis via Localization and Remediation of Root Causes of Imprecision
Shiyi Wei, Omer Tripp, Barbara G. Ryder, Julian Dolby
FSE 2016
-
Service Level Objectives
Chris Jones, John Wilkes, Niall Murphy, Cody Smith, Betsy Beyer
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Shasta: Interactive Reporting at Scale
Gokul Nath Babu Manoharan, Stephan Ellner, Karl Schnaitter, Sridatta Chegu, Alejandro Estrella-Balderrama, Stephan Gudmundson, Apurv Gupta, Ben Handy, Bart Samwel, Chad Whipkey, Larysa Aharkava, Himani Apte, Nitin Gangahar, Jun Xu, Shivakumar Venkataraman, Divy Agrawal, Jeffrey D. Ullman
SIGMOD, San Francisco, CA (2016) (to appear)
-
Simplicity
Max Luebbe, Tim Harvey
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Site Reliability Engineering: How Google Runs Production Systems
Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy
O'Reilly (2016)
-
Software Engineering in SRE
Dave Helstroom, Trisha Weir, Evan Leonard, Kurt Delimon, Kavita Guliani
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Testing for Reliability
Alex Perry, Max Luebbe, Diane Bates
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
The Evolution of Automation at Google
Niall Murphy, John Looney, Michael Kacirek, Betsy Beyer
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
The Evolving SRE Engagement Model
Acacio Cruz, Ashish Bhambhani, Betsy Beyer, Tim Harvey
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
The Production Environment at Google, from the Viewpoint of an SRE
JC van Winkel, Betsy Beyer
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Towards Lifelong Feature-Based Mapping in Semi-Static Environments
David M. Rosen, Julian Mason, John J. Leonard
ICRA 2016
-
Tracking Outages
Gabe Krabbe, Lisa Carey
Site Reliability Engineering: How Google Runs Production Systems, O'Reilly (2016)
-
Unsupervised Learning for Physical Interaction through Video Prediction
Chelsea Finn, Ian Goodfellow, Sergey Levine
arXiv e-prints (2016)
-
Web Browser Workload Characterization for Power Management on HMP Platforms
Benedikt Meurer, Daniel Clifford, Hannes Payer, Nadja Peters, Samarjit Chakraborty, Sangyoung Park
Proceedings of the Eighth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '12) (2016)
-
XRay: A Function Call Tracing System
Dean Michael Berris, Alistair Veitch, Nevin Heintze, Eric Anderson, Ning Wang
Google Inc. (2016)
-
Amit Vasudevan, Sagar Chaki, Petros Maniatis, Limin Jia, Anupam Datta
USENIX Security, USENIX (2016)
-
(Un)Reliability Budgets: Finding Balance between Innovation and Reliability
Mark D. Roth
;login:, vol. 40, No. 4 (2015), pp. 26-28
-
1ML - core and modules united (F-ing first-class modules)
International Conference on Functional Programming, ACM-SIGPLAN, Vancouver, Canada (2015)
-
A classifier for the latency-CPU behaviors of serving jobs in distributed environments
Christophe Restif, Natalia Ponomareva, Krzysztof Ostrowski
SoCC 15 (2015) (to appear)
-
Being an On-Call Engineer: A Google SRE Perspective
Andrea Spadaccini, Kavita Guliani
;login:, vol. 40 (2015), pp. 43-47
-
Conflict-Driven Conditional Termination
Vijay D'Silva, Caterina Urban
Computer Aided Verification, Springer International Publishing (2015), pp. 271-286
-
Declarative Rewriting Through Circular Nonterminal Attributes
Emma Soederberg, Görel Hedin
Computer Languages, Systems & Structures (2015) (to appear)
-
Flywheel: Google's Data Compression Proxy for the Mobile Web
Victor Agababov, Michael Buettner, Victor Chudnovsky, Mark Cogan, Ben Greenstein, Shane McDaniel, Michael Piatek, Colin Scott, Matt Welsh, Bolian Yin
Proceedings of the 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2015)
-
Hiring Site Reliability Engineers
Chris Jones, Todd Underwood, Shylaja Nukala
;login:, vol. 40, No. 3 (2015), pp. 35-39
-
In Defense of Soundiness: A Manifesto
Benjamin Livshits, Manu Sridharan, Yannis Smaragdakis, Ondrej Lhotak, J. Nelson Amaral, Bor-Yuh Evan Chang, Samuel Z. Guyer, Uday P. Khedker, Anders Møller, Dimitrios Vardoulakis
Communications of the ACM, vol. 58 (2015), pp. 44-46
-
Inferring the Network Latency Requirements of Cloud Tenants
Jeffrey C Mogul, Ramana Rao Kompella
15th Workshop on Hot Topics in Operating Systems (HotOS XV), USENIX Association (2015)
-
Large-scale cluster management at Google with Borg
Abhishek Verma, Luis Pedrosa, Madhukar R. Korupolu, David Oppenheimer, Eric Tune, John Wilkes
Proceedings of the European Conference on Computer Systems (EuroSys), ACM, Bordeaux, France (2015)
-
Yongin Kwon, Sangmin Lee, Hayoon Yi, Donghyun Kwon, Seungjun Yang, Byung-Gon Chun, Ling Huang, Petros Maniatis, Mayur Naik, Yunheung Paek
IEEE Transactions on Mobile Computing, vol. 14 (2015), pp. 2059-2072
-
Memento Mori: Dynamic Allocation-site-based Optimizations
Daniel Clifford, Hannes Payer, Michael Stanton, Ben L. Titzer
Proceedings of the 2015 ACM SIGPLAN International Symposium on Memory Management, ACM, New York, NY, USA, pp. 105-117
-
MemorySanitizer: fast detector of uninitialized memory use in C++
Evgeniy Stepanov, Konstantin Serebryany
Proceedings of the 2015 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), CGO 2015, San Francisco, CA, USA, pp. 46-55
-
Pedestrian Detection with a Large-Field-Of-View Deep Network
Anelia Angelova, Alex Krizhevsky, Vincent Vanhoucke
Proceedings of ICRA 2015
-
Precentile-Based Approach to Forecasting Workload Growth
Alex Gilgur, Stephen Gunn, Douglas Browning, Xiaojun Di, Wei Chen, Rajesh Krishnaswamy
IT Performance and Capacity by CMG 41st International Conference (CMG2015), Computer Measurement Group, 3501 Route 42 Suite 130 #121 Turnersville, NJ 08012-1734 USA
-
R for Marketing Research and Analytics
Chris Chapman, Elea McDonnell Feit
Springer, New York (2015)
-
Real-Time Grasp Detection Using Convolutional Neural Networks
Joseph Redmon, Anelia Angelova
International Conference on Robotics and Automation (ICRA), IEEE (2015)
-
Real-Time Pedestrian Detection With Deep Network Cascades
Anelia Angelova, Alex Krizhevsky, Vincent Vanhoucke, Abhijit Ogale, Dave Ferguson
Proceedings of BMVC 2015
-
Reasoning about Risk and Trust in an Open World
Sophia Drossopoulou, James Noble, Toby Murray, Mark S. Miller
Victoria University of Wellington (2015)
-
Reusable Components of Semantic Specifications
Martin Churchill, Peter D. Mosses, Neil Sculthorpe, Paolo Torrini
Lecture Notes in Computer Science, vol. 8989 (2015), pp. 132-179
-
Swapsies on the Internet: First Steps towards Reasoning about Risk and Trust in an Open World
Sophia Drossopoulou, James Noble, Mark S. Miller
Tenth Workshop on Programming Languages and Analysis for Security (PLAS 2015), ACM
-
The Correctness-Security Gap in Compiler Optimization
Vijay D'Silva, Mathias Payer, Dawn Song
Security and Privacy Workshops (SPW), 2015 IEEE, IEEE, pp. 73-87
-
The Performance Cost of Shadow Stacks and Stack Canaries
Thurston H.Y. Dang, Petros Maniatis, David Wagner
Proceedings of the 10th ACM Symposium on Information, Computer and Communications Security (ASIACCS), ACM (2015), pp. 555-566
-
The Systems Engineering Side of Site Reliability Engineering
David Hixson, Betsy Beyer
;login:, vol. 40, No. 3 (2015)
-
Towards Lifelong Feature-Based Mapping in Semi-Static Environments
David M Rosen, Julian Mason, John J Leonard
RSS 2015 Workshop on the problem of mobile sensors
-
Tricorder: Building a Program Analysis Ecosystem
Caitlin Sadowski, Jeffrey van Gogh, Ciera Jaspan, Emma Soederberg, Collin Winter
International Conference on Software Engineering (ICSE) (2015)
-
Marketing Insights (2015), pp. 12-13
-
Yedalog: Exploring Knowledge at Scale
Brian Chin, Daniel von Dincklage, Vuk Ercegovac, Peter Hawkins, Mark S. Miller, Franz Och, Chris Olston, Fernando Pereira
1st Summit on Advances in Programming Languages (SNAPL 2015), Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, pp. 63-78
-
A Language-Based Approach to Secure Quorum Replication
Lantian Zheng, Andrew C. Myers
Proceedings of the Ninth Workshop on Programming Languages and Analysis for Security (2014), pp. 27-39
-
ACDC-JS: explorative benchmarking of javascript memory management
Martin Aigner, Thomas Huetter, Christoph M. Kirsch, Alexander Miller, Hannes Payer, Mario Preishuber
Proceedings of the 10th ACM Symposium on Dynamic Languages, ACM, New York, NY, USA (2014), pp. 67-78
-
Allocation Folding Based on Dominance
Daniel Clifford, Hannes Payer, Michael Starzinger, Ben L. Titzer
Proceedings of the 2014 International Symposium on Memory Management, ACM, New York, NY, USA
-
IEEE Software, vol. 31 (2014), pp. 12-14
-
DeLesley Hutchins, Aaron Ballman, Dean Sutherland
2014 IEEE 14th International Working Conference on Source Code Analysis and Manipulation, IEEE
-
Enforcing Forward-Edge Control-Flow Integrity in GCC & LLVM
Caroline Tice, Tom Roeder, Peter Collingbourne, Stephen Checkoway, Úlfar Erlingsson, Luis Lozano, Geoff Pike
Proceedings of the 23rd Usenix Security Symposium, USENIX, San Diego, CA (2014)
-
Evaluating job packing in warehouse-scale computing
Abhishek Verma, Madhukar Korupolu, John Wilkes
IEEE Cluster, Madrid, Spain (2014)
-
Andreas Rossberg, Claudio Russo, Derek Dreyer
Journal of Functional Programming, vol. 24 (5) (2014)
-
Google hostload prediction based on Bayesian model with optimized feature combination
Sheng Dia, Derrick Kondo, Walfredo Cirne
Journal Parallel and Distributed Computing (2014)
-
How Developers Use Data Race Detection Tools
Evaluation and Usability of Programming Languages and Tools (PLATEAU), ACM (2014)
-
Long-term SLOs for reclaimed cloud computing resources
Marcus Carvalho, Walfredo Cirne, Franciso Brasileiro, John Wilkes
ACM Symposium on Cloud Computing (SoCC), ACM, Seattle, WA, USA (2014), 20:1-20:13
-
Making “Push On Green” a Reality: Issues & Actions Involved in Maintaining a Production Service
Daniel V. Klein, Dina M. Betser, Mathew G. Monroe
;login:, vol. 39, number 5 (2014), pp. 26-32
-
Outlawing ghosts: avoiding out-of-thin-air results
Hans-J. Boehm, Brian Demsky
Workshop on Memory Systems Performance and Correctness (MSPC), ACM, New York, NY (2014)
-
Perfect Reconstructability of Control Flow from Demand Dependence Graphs
Helge Bahmann, Nico Reissmann, Magnus Jahre, Jan Christian Meyer
Transactions on Architecture and Code Optimization (2014) (to appear)
-
Daniel Leithinger, Sean Follmer, Alex Olwal, Hiroshi Ishii
ACM Symposium on User Interface Software and Technology, ACM (2014), pp. 461-470
-
Profiling a warehouse-scale computer
Svilen Kanev, Juan Darago, Kim Hazelwood, Parthasarathy Ranganathan, Tipp Moseley, Gu-Yeon Wei, David Brooks
ISCA '15 Proceedings of the 42nd Annual International Symposium on Computer Architecture, ACM (2014), pp. 158-169
-
RLint: Reformatting R Code to Follow the Google Style Guide
Alex Blocker, Andy Chen, Andy Chu, Tim Hesterberg, Jeffrey D. Oldham, Caitlin Sadowski, Tom Zhang
R User Conference (2014)
-
Residential Power Load Forecasting
Jeffrey Stevenson, Patrick Day, George Ruwisch, Michael Fabian, Ryan Spencer, Rajeshbabu Thoppay, Donald Noble
Conference on Systems Engineering Research (CSER 2014), Elisevier B.V., Elsevier Inc/1600 John F Kennedy Boulevard Suite 1800 Philadelphia PA 19103-2879 USA (to appear)
-
Unsupervised Discovery of Object Classes with a Mobile Robot
Julian Mason, Bhaskara Marthi, Ronald Parr
ICRA 2014
-
A new approach to the semantics of model diagrams
18th International Workshop on Types for Proofs and Programs (TYPES 2011), LIPICS (2013), pp. 28-40
-
AGILE: elastic distributed resource scaling for Infrastructure-as-a-Service
Hiep Nguyen, Zhiming Shen, Xiaohui Gu, Sethuraman Subbiah, John Wilkes
10th International Conference on Autonomic Computing (ICAC), USENIX, San Jose, CA, USA (2013), pp. 69-82
-
Cloud-based robot grasping with the google object recognition engine
Ben Kehoe, Akihiro Matsukawa, Sal Candido, James Kuffner, Ken Goldberg
IEEE Int’l Conf. on Robotics and Automation (2013), pp. 8
-
Concurrency-aware compiler optimizations for hardware description languages
Harikumar Somakumar
ACM Transactions on Design Automation of Electronic Systems (TODAES), vol. Volume 18, Issue 1 (2013), 10:1-10:16
-
Conjoint Analysis in R … Now with Individual-Level Utilities and Survey Mockups
American Marketing Association Advanced Research Techniques Forum (2013), Poster
-
Distributed Electronic Rights in JavaScript
Mark S. Miller, Tom Van Cutsem, Bill Tulloh
ESOP'13 22nd European Symposium on Programming, Springer (2013)
-
Drilling Network Stacks with packetdrill
Neal Cardwell, Barath Raghavan
USENIX ;login:, vol. 38 (2013), pp. 48-52
-
Harmonizing classes, functions, tuples, and type parameters in Virgil III
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation, ACM, New York, New York (2013), pp. 85-94
-
Instant Profiling: Instrumentation Sampling for Profiling Datacenter Applications
Hyoun Kyu Cho, Tipp Moseley, Rick Hank, Derek Bruening, Scott A. Mahlke
Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), IEEE Computer Society, Washington, DC, USA
-
JSWhiz - Static Analysis for JavaScript Memory Leaks
Proceedings of the 10th annual IEEE/ACM international symposium on Code generation and optimization, IEEE (2013)
-
Janus: Optimal Flash Provisioning for Cloud Storage Workloads
Christoph Albrecht, Arif Merchant, Murray Stokely, Muhammad Waliji, Francois Labelle, Nathan Coehlo, Xudong Shi, Eric Schrock
Proceedings of the USENIX Annual Technical Conference, USENIX, Advanced Computing System Association, 2560 Ninth Street, Suite 215, Berkeley, CA 94710, USA (2013), pp. 91-102
-
Linux System Programming
O'Reilly (2013)
-
Mixin' up the ML module system
Andreas Rossberg, Derek Dreyer
Transactions on Programming Languages and Systems, vol. 35 (1) (2013)
-
Multi-Armed Recommendation Bandits for Selecting State Machine Policies for Robotic Systems
Pyry Matikainen, P. Michael Furlong, Rahul Sukthankar, Martial Hebert
Proceedings of International Conference on Robotics and Automation (ICRA 2013)
-
Omega: flexible, scalable schedulers for large compute clusters
Malte Schwarzkopf, Andy Konwinski, Michael Abd-El-Malek, John Wilkes
SIGOPS European Conference on Computer Systems (EuroSys), ACM, Prague, Czech Republic (2013), pp. 351-364
-
Physically-based Grasp Quality Evaluation under Pose Uncertainty
Junggon Kim, Kunihiro Iwamoto, James J.Kuffner, Yasuhiro Ota, Nancy S. Pollard
IEEE Transactions on Robotics (2013)
-
Reducing Lookups for Invariant Checking
Jakob G. Thomsen, Christian Clausen, Kristoffer J. Andersen, Erik Ernst, John Danaher
Proceedings of ECOOP 2013 (to appear)
-
SAC063 - SSAC Advisory on DNSSEC Key Rollover in the Root Zone
Warren Kumari, Russ Mundy, Matt Larson, Jaap Akkerhuis
ICANN Security and Stability Advisory Committee (SSAC) Reports and Advisories, ICANN (2013)
-
Strato: A Retargetable Framework for Low-level Inlined Reference Monitors
Bin Zeng, Gang Tan, Úlfar Erlingsson
Proceedings of the 22nd USENIX Conference on Security, USENIX Association, Berkeley, CA, USA (2013), pp. 369-382
-
Trustworthy Proxies: Virtualizing Objects with Invariants
Tom Van Cutsem, Mark S. Miller
ECOOP 2013
-
Understanding Latency of Black-Box Service Workloads
Darja Krushevskaja
WWW 2013 (to appear)
-
Walfredo Cirne, Eitan Frachtenberg
Lecture Notes in Computer Science, vol. 7698 (2013)
-
Whare-Map: Heterogeneity in “Homogeneous” Warehouse-Scale Computers
Jason Mars, Lingjia Tang, Robert Hundt
Proceedings of the 2013 ACM/IEEE International Symposium on Computer Architecture (ISCA), IEEE (to appear)
-
Why Don't Software Developers Use Static Analysis Tools to Find Bugs?
Brittany Johnson, Yoonki Song, Emerson Murphy-Hill, Robert Bowdidge
International Conference on Software Engineering (2013), pp. 672-681
-
Why you should care about quantile regression
Augusto Born De Oliveira, Sebastian Fischmeister, Amer Diwan, Matthias Hauswirth, Peter Sweeney
Architectural Support for Programming Languages and Operating Systems, ASPLOS '13, ACM (2013), pp. 207-218
-
packetdrill: Scriptable Network Stack Testing, from Sockets to Packets
Neal Cardwell, Yuchung Cheng, Lawrence Brakmo, Matt Mathis, Barath Raghavan, Nandita Dukkipati, Hsiao-keng Jerry Chu, Andreas Terzis, Tom Herbert
Proceedings of the USENIX Annual Technical Conference (USENIX ATC 2013), USENIX, 2560 Ninth Street, Suite 215, Berkeley, CA, 94710 USA, pp. 213-218
-
CPI^2: CPU performance isolation for shared compute clusters
Xiao Zhang, Eric Tune, Robert Hagmann, Rohit Jnagal, Vrigo Gokhale, John Wilkes
SIGOPS European Conference on Computer Systems (EuroSys), ACM, Prague, Czech Republic (2013), pp. 379-391
-
AddressSanitizer: A Fast Address Sanity Checker
Konstantin Serebryany, Derek Bruening, Alexander Potapenko, Dmitry Vyukov
USENIX ATC 2012
-
Building Useful Program Analysis Tools Using an Extensible Java Compiler
Edward Aftandilian, Raluca Sauciuc, Siddharth Priya, Sundaresan Krishnan
International Working Conference on Source Code Analysis and Manipulation (SCAM), IEEE (2012), pp. 14-23
-
CDE: A Tool For Creating Portable Experimental Software Packages
Computing in Science & Engineering, vol. 14 (2012), pp. 32-35
-
Characterization and Comparison of Cloud versus Grid Workloads
Sheng Di, Derrick Kondo, Walfredo Cirne
IEEE Cluster 2012
-
Comparing In-Browser Methods of Measuring Resource Load Times
Eric Gavaletz, Dominic Hamon, Jasleen Kaur
W3C Workshop on Web Performance 8, W3C, W3C/MIT 32 Vassar Street Room 32-G515 Cambridge, MA 02139 USA (2012)
-
Dart: Up and Running
O'Reilly Media, 1005 Gravenstein Highway North Sebastopol, CA 95472 USA (2012)
-
Google's C/C++ toolchain for smart handheld devices
Doug Kwan, Jing Yu, Bhaskar Janakiraman
VLSI Design, Automation, and Test (VLSI-DAT), 2012 International Symposium on, IEEE
-
Hostload prediction in a Google compute cloud with a Bayesian model
Sheng Di, Derrick Kondo, Walfredo Cirne
Supercomputing 2012
-
Implementing language-based virtual machines
Lars Bak
Proceedings of the 11th annual international conference on Aspect-oriented Software Development Companion, ACM, New York, NY, USA (2012), pp. 7-8
-
JANUS: exploiting parallelism via hindsight
Omer Tripp, Roman Manevich, John Field, Mooly Sagiv
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation, ACM, New York, NY, USA (2012), pp. 145-156
-
LIL: CLOS reaches higher-order, sheds identity, and has a transformative experience
Proceedings of the International Lisp Conference 2012 (to appear)
-
LaDeDa: Languages for Debuggable Distributed Algorithms
Mark S. Miller, Tom Van Cutsem
Lada 2012: Workshop on Languages for Distributed Algorithms (to appear)
-
Lockdown: Towards a Safe and Practical Architecture for Security Applications on Commodity Platforms
Amit Vasudevan, Bryan Parno, Ning Qu, Virgil D. Gligor, Adrian Perrig
TRUST 2012, Lecture Notes in Computer Science, pp. 21
-
Magda: A New Language for Modularity
Jarek Kusmierek, Viviana Bono, Mauro Mulatero
Lecture Notes in Computer Science, Springer (2012), pp. 560-588
-
Measuring Interference Between Live Datacenter Applications
Melanie Kambadur, Tipp Moseley, Rick Hank, Martha A. Kim
Supercomputing, ACM (2012)
-
Obfuscatory obscanturism: making workload traces of commercially-sensitive systems safe to release
Charles Reiss, John Wilkes, Joseph L. Hellerstein
CloudMAN, IEEE, Maui, HI, USA (2012)
-
Olivier Danvy, Kevin Millikin, Johan Munk, Ian Zerny
Theoretical Computer Science, vol. 435 (2012), pp. 21-42
-
On the design of the ECMAScript Reflection API
Tom Van Cutsem, Mark S. Miller
TOPLAS (Transactions on Programming Languages and Systems) (2012)
-
Proceedings of the ACM 4th annual workshop on Evaluation and usability of programming languages and tools (PLATEAU)
Emerson Murphy-Hill, Caitlin Sadowski, Shane Markstrum
Conference on Systems, Programming, and Applications: Software for Humanity (SPLASH) (2012)
-
Programming Perl
Tom Christiansen, brian d foy, Larry Wall, Jon Orwant
O'Reilly, 1005 Gravenstein Highway North Sebastopol, CA 95472 (2012)
-
Robust Trait Composition for JavaScript
Tom Van Cutsem, Mark S. Miller
Science of Computer Programming: Special Issue on Advances in Dynamic Languages (2012)
-
Runtime adaptation: a case for reactive code alignment
Michelle McDaniel, Kim Hazelwood
Proceedings of the 2nd International Workshop on Adaptive Self-Tuning Computing Systems for the Exaflop Era, ACM, New York, NY, USA (2012), pp. 1-11
-
Simbeeotic: a simulation-emulation platform for large scale micro-aerial swarms
Jason Waterman, Bryan Kate, Karthik Dantu, Matt Welsh
Proceedings of the 11th international conference on Information Processing in Sensor Networks, ACM, New York, NY, USA (2012), pp. 139-140
-
Simbeeotic: a simulator and testbed for micro-aerial vehicle swarm experiments
Bryan Kate, Jason Waterman, Karthik Dantu, Matt Welsh
Proceedings of the 11th international conference on Information Processing in Sensor Networks, ACM, New York, NY, USA (2012), pp. 49-60
-
Transparent dynamic instrumentation
Derek Bruening, Qin Zhao, Saman Amarasinghe
Proceedings of the 8th ACM SIGPLAN/SIGOPS conference on Virtual Execution Environments, ACM, New York, NY, USA (2012), pp. 133-144
-
An Equivalence-Preserving CPS Translation via Multi-Language Semantics
Amal Ahmed, Matthias Blume
Proceedings of the 16th ACM SIGPLAN International Conference on Functional Programming (ICFP 2011) (to appear)
-
Automated locality optimization based on the reuse distance of string operations
Silvius Rus, Raksit Ashok, Xinliang David Li
CGO '11 Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization, IEEE Computer Society, Washington, DC, USA (2011), pp. 181-190
-
Blackhat USA (2011) (to appear)
-
CloudScale: elastic resource scaling for multi-tenant cloud systems
Zhiming Shen, Sethuraman Subbiah, Xiaohui Gu, John Wilkes
Symposium on Cloud Computing (SoCC), ACM, Cascais, Portugal (2011)
-
Custom AST transformations with Project Lombok
Alex Ruiz
IBM developerWorks (2011)
-
Cython: The Best of Both Worlds
Stefan Behnel, Robert Bradshaw, Craig Citro, Lisandro Dalcin, Dag Sverre Seljebotn, Kurt Smith
Computing in Science and Engineering, vol. 13.2 (2011), pp. 31-39
-
Experiences Scaling Use of Google's Sawzall
DIMACS Workshop on Parallelism: A 2020 Vision, http://dimacs.rutgers.edu/Workshops/Parallel/ (2011)
-
Fay: Extensible Distributed Tracing from Kernels to Clusters
Úlfar Erlingsson, Marcus Peinado, Simon Peter, Mihai Budiu
Proceedings of the 23rd ACM Symposium on Operating Systems Principles (SOSP'11), ACM, New York, NY, USA (2011)
-
Language-Independent Sandboxing of Just-In-Time Compilation and Self-Modifying Code
Jason Ansel, Petr Marchenko, Úlfar Erlingsson, Elijah Taylor, Brad Chen, Derek Schuff, David Sehr, Cliff L. Biffle, Bennet S. Yee
ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), ACM SIGPLAN, New York, NY, USA. (2011)
-
Logical Attestation: An Authorization Architecture for Trustworthy Computing
Emin Gün Sirer, Willem de Bruijn, Patrick Reynolds, Alan Shieh, Kevin Walsh, Dan Williams, Fred B. Schneider
Proceedings of the 23rd ACM Symposium on Operating System Principles, ACM, New York, NY, USA (2011)
-
Loop Recognition in C++/Java/Go/Scala
Proceedings of Scala Days 2011
-
MAO - an Extensible Micro-Architectural Optimizer
Robert Hundt, Easwaran Raman, Martin Thuresson, Neil Vachharajani
Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization, ACM (2011)
-
Georg Neis, Derek Dreyer, Andreas Rossberg
Journal of Funcitonal Programming, vol. 21 (4 & 5) (2011)
-
Perspectives on cloud computing: interviews with five leading scientists from the cloud community
Gordon Blair, Fabio Kon, Walfredo Cirne, Dejan Milojicic, Raghu Ramakrishnan, Dan Reed, Dilma Silva
Journal of Internet Services and Applications (2011)
-
Josh Suereth
Manning Publications Co., Sound View Ct. #3B Greenwich, CT 06830 (2011), pp. 250
-
traits.js: Robust Object Composition and High-integrity Objects for ECMAScript 5
Tom Van Cutsem, Mark S. Miller
Plastic 2011: International Workshop on Programming Language And Systems Technologies for Internet Clients, ACM
-
Adapting Software Fault Isolation to Contemporary CPU Architectures
David Sehr, Robert Muth, Cliff L. Biffle, Victor Khimenko, Egor Pasko, Bennet Yee, Karl Schimpf, Brad Chen
19th USENIX Security Symposium, USENIX (2010), pp. 1-11
-
Jon Skeet
Manning, 20 Baldwin Road PO Box 261 Shelter Island, NY 11964 (2010), pp. 584
-
Paul Turner, Bharata B Rao, Nikhil Rao
Proceedings of the Linux Symposium, Linux Symposium (2010), pp. 245-254
-
Capsicum: practical capabilities for UNIX
Robert N. M. Watson, Jonathan Anderson, Ben Laurie, Kris Kennaway
Proceedings of the 19th USENIX Security Symposium (2010)
-
Contention Aware Execution: Online Contention Detection and Response
Jason Mars, Neil Vachharajani, Robert Hundt, Mary Lou Souffa
Proceedings of International Symposium on Code Generation and Optimization (CGO), IEEE (2010)
-
Defunctionalized Interpreters for Call-by-Need Evaluation
Olivier Danvy, Kevin Millikin, Johan Munk, Ian Zerny
Functional and Logic Programming, 10th International Symposium, FLOPS 2010, Springer, pp. 240-256
-
Effective Perl Programming, 2nd Edition
Joshua McAdams, brian d foy, Joseph Hall
Addison-Wesley Professional (2010), pp. 445
-
Evolving ASDF: More Cooperation, Less Coordination
François-René Rideau, Robert Goldman
Proceedings of the International Lisp Conference 2010
-
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming, ACM, New York, NY, USA (2010), pp. 369-374
-
FlumeJava: Easy, Efficient Data-Parallel Pipelines
Craig Chambers, Ashish Raniwala, Frances Perry, Stephen Adams, Robert Henry, Robert Bradshaw, Nathan
ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), ACM New York, NY 2010, 2 Penn Plaza, Suite 701 New York, NY 10121-0701 (2010), pp. 363-375
-
Functional and Logic Programming
Matthias Blume, Naoki Kobayashi, Germán Vidal
Springer, LNCS (2010)
-
Google-Wide Profiling: A Continuous Profiling Infrastructure for Data Centers
Gang Ren, Eric Tune, Tipp Moseley, Yixin Shi, Silvius Rus, Robert Hundt
IEEE Micro (2010), pp. 65-79
-
Lightweight Feedback-Directed Cross-Module Optimization
Xinliang David Li, Raksit Ashok, Robert Hundt
Proceedings of International Symposium on Code Generation and Optimization (CGO), IEEE (2010)
-
Linux Kernel Development
Addison-Wesley (2010)
-
PRESS: PRedictive Elastic ReSource Scaling for cloud systems
Zhenhuan Gong, Xiaohui Gu, John Wilkes
6th IEEE/IFIP International Conference on Network and Service Management (CNSM 2010), Niagara Falls, Canada
-
Proxies: Design Principles for Robust Object-oriented Intercession APIs
Tom Van Cutsem, Mark S. Miller
Dynamic Languages Symposium, ACM (2010)
-
Real World Functional Programming
Tomas Petricek, Jon Skeet
Manning, 20 Baldwin Road PO Box 261 Shelter Island, NY 11964 (2010), pp. 500
-
Safe ICF: Pointer Safe and Unwinding Aware Identical Code Folding in Gold
Sriraman Tallam, Cary Coutant, Ian Lance Taylor, Xinliang David Li, Chris Demetriou
GCC Developers Summit (2010)
-
Scalable I/O Event Handling for GHC
Bryan O’Sullivan, Johan Tibell
Proceedings of the 2010 ACM SIGPLAN Haskell Symposium (Haskell'10), pp. 103-108
-
Taming Hardware Event Samples for FDO Compilation
Dehao Chen, Neil Vachharajani, Robert Hundt, Shih-wei Liao, Vinodha Ramasamy, Paul Yuan, Wenguang Chen, Weiming Zheng
Proceedings of International Symposium on Code Generation and Optimization (CGO) (2010)
-
GCC Summit 2010 (to appear)
-
Why Feedback Implementations Fail: The Importance of Systematic Testing
Joseph L. Hellerstein
Workshop on Feedback Control Implementation and Design (at EuroSys), ACM (2010)
-
An Unexceptional Implementation of First-Class Continuations
Joseph Marshall
Proceedings of the 2009 International Lisp Conference, Association of Lisp Users, 1938 East Beech Road, Sterling, Virginia 20164, pp. 36-40
-
Joseph L. Hellerstein, Vance Morrison, Eric Eilebrecht
Sigmetrics Performance Evaluation Review (2009), pp. 38-42
-
Are We Ready for a Safer Construction Environment?
Yossi Gil
European Conference on Object Oriented Languages, Springer Verlag (2009), pp. 495-519
-
Blame for all
Amal Ahmed, Robert Bruce Findler, Jacob Matthews, Philip Wadler
STOP '09: Proceedings for the 1st workshop on Script to Program Evolution, ACM, New York, NY, USA (2009), pp. 1-13
-
E Unum Pluribus - Google Network Filtering Management
Paul (Tony) Watson, Peter Moody
LISA'09 23rd Large Installation System Administration Conference (2009)
-
ESOFTCHECK: REMOVAL OF NON-VITAL CHECKS FOR FAULT TOLERANCE
Jing Yu, Maria Jesus Garzaran, Marc Snir
Proceedings of the CGO 2009, The Seventh International Symposium on Code Generation and Optimization, IEEE Computer Society, pp. 35-46
-
Erlang for Concurrent Programming
Communications of the ACM, vol. 52 (2009), pp. 48-56
-
Flapjax: a programming language for Ajax applications
Leo A. Meyerovich, Arjun Guha, Jacob Baskin, Gregory H. Cooper, Michael Greenberg, Aleks Bromfield, Shriram Krishnamurthi
OOPSLA '09: Proceeding of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications, ACM, New York, NY, USA (2009), pp. 1-20
-
Isolating Web Programs in Modern Browser Architectures
Charles Reis, Steven D. Gribble
Eurosys, Nuremburg (2009)
-
Linux in a Nutshell
O'Reilly (2009)
-
Native Client: A Sandbox for Portable, Untrusted x86 Native Code
Bennet Yee, David Sehr, Greg Dardyk, Brad Chen, Robert Muth, Tavis Ormandy, Shiki Okasaka, Neha Narula, Nicholas Fullagar
IEEE Symposium on Security and Privacy (Oakland'09), IEEE, IEEE, 3 Park Avenue, 17th Floor, New York, NY 10016 (2009)
-
Optimizing Programs with Intended Semantics
Daniel von Dincklage, Amer Diwan
Proceedings of OOPSLA, ACM Press (2009) (to appear)
-
Perflint: A Context Sensitive Performance Advisor for C++ Programs
Lixia Liu, Silvius Rus
Proceedings of the 7th annual IEEE/ACM International Symposium on Code Generation and Optimization, IEEE Computer Society, Washington, DC, USA (2009), pp. 265-274
-
Revised6 report on the algorithmic language scheme
Michael Sperber, R. kent Dybvig, Matthew Flatt, Anton Van straaten, Robby Findler, Jacob Matthews
J. Funct. Program., vol. 19 (2009), pp. 1-301
-
Scenario Based Optimization: A Framework for Statically Enabling Online Optimizations
Jason Mars, Robert Hundt
Proceedings of the 2009 Symposium on Code Generation and Optimization (CGO), IEEE Computer Society, 10662 Los Vaqueros Circle, P.O. Box 3014, Los Alamitos, CA, 90720, pp. 169-170
-
Towards Characterizing Cloud Backend Workloads: Insights from Google Compute Clusters
Asit Mishra, Joseph L Hellerstein, Walfredo Cirne
Sigmetrics Performance Evaluation Review, ACM (2009)
-
Why we're able to Google
Proceeding CRASS '09 Computing Research that Changed the World: Reflections and Perspectives, Computing Research Association, Washington, D.C. (2009)
-
Proceedings of the GCC Developers' Summit (2008)
-
A rational deconstruction of Landin's SECD machine with the J operator
Olivier Danvy, Kevin Millikin
Logical Methods in Computer Science, vol. 4 (2008), pp. 1-67
-
C++ Dynamic Arrays
Matt Austern, Lawrence Crowl
ISO/IEC JTC1 SC22 WG21 (2008)
-
Effective Java, Second Edition
Joshua Bloch
Addison-Wesley, Boston, MA (2008)
-
Fault-Safe Code Motion for Type-Safe Languages
Brian R Murphy, Vijay Menon, Florian T. Schneider, Tatiana Shpeisman, Ali-Reza Adi-Tabatabai
Proc. Sixth Annual IEEE/ACM International Symposium on Code Generation and Optimization, ACM, Boston (2008), pp. 144-154
-
Feedback-Directed Optimizations in GCC with Estimated Edge Profiles from Hardware Event Sampling
Vinodha Ramasamy, Paul Yuan, Dehao Chen, Robert Hundt
Proceedings of GCC Summit 2008, pp. 87-102
-
Guarded Program Transformations Using JTL
Tal Cohen, Joseph (Yossi) Gil, Itay Maman
TOOLS EUROPE 2008 (LNBIP 11), Springer-Verlag, Berlin, pp. 100-120
-
Lightweight, High-Resolution Monitoring for Troubleshooting Production Systems
Sapan Bhatia, Abhishek Kumar, Marc E. Fiuczynski, Larry Peterson
OSDI '08 (2008)
-
Linux capabilities: making them work
Serge E. Hallyn, Andrew G. Morgan
Linux Symposium 2008, 2008 Linux Symposium Inc., http://www.linuxsymposium.org/2008/cfp.php, pp. 10
-
Selective Versioning in a Secure Disk System
Swaminathan Sundararaman, Gopalan Sivathanu, Erez Zadok
Usenix Security Symposium 2008
-
What can performance counters do for memory subsystem analysis?
Stephane Eranian
ACM SIGPLAN Workshop on Memory Systems Performance & Correctness (MSPC'08), ACM, Seattle (2008), pp. 26-30
-
Automatic Inference of Optimizer Flow Functions from Semantic Meanings
Erika Rice Scherpelz, Sorin Lerner, Craig Chambers
Proc. PLDI 07, ACM Press (2007), pp. 135-145
-
CRF-filters: Conditional Particle Filters for Sequential State Estimation
Bensen Limketkai, Dieter Fox, Lin Liao
Proceedings of the International Conference on Robotics and Automation (2007)
-
Delegating Responsibility in Digital Systems: Horton's Who Done It
Mark S. Miller, Jed Donnelley, Alan H. Karp
2nd USENIX Workshop on Hot Topics in Security, USENIX (2007), pp. 5
-
Generalized File System Dependencies
Christopher Frost, Mike Mammarella, Eddie Kohler, Andrew de los Reyes, Shant Hovsepian, Andrew Matsuoka, Lei Zhang
Proc. SOSP'07, ACM, Stevenson, Washington (2007)
-
Linux System Programming
O'Reilly (2007)
-
Independently Extensible Solutions to the Expression Problem
Matthias Zenger, Martin Odersky
FOOL (2005)
-
Java Puzzlers: Traps, Pitfalls, and Corner Cases
Joshua Bloch, Neal Gafter
Addison-Wesley (2005)
-
Scalable Component Abstractions
Martin Odersky, Matthias Zenger
OOPSLA (2005), pp. 41-57
-
Systems Support for Preemptive Disk Scheduling
Zoran Dimitrijević, Raju Rangaswami, Edward Y. Chang
IEEE Trans. Computers, vol. 54 (2005), pp. 1314-1326
-
Thwarting Virtual Bottlenecks in Multi-Bitrate Streaming Servers
Bin Liu, Raju Rangaswami, Zoran Dimitrijević
IEEE RTSS, IEEE RTSS (2005)
-
The Google File System
Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung
Proceedings of the 19th ACM Symposium on Operating Systems Principles, ACM, Bolton Landing, NY (2003), pp. 20-43
