Authors
Jedidiah McClurg
Publication date
2018/1
Institution
PhD. thesis, University of Colorado Boulder, USA
Description
Networked computer systems are everywhere. Billions of people use web-based services every day for communication, social networking, navigation, etc., and these services rely heavily on the correct and efficient functioning of complex networked systems, such as datacenters. When things go wrong in these systems, the consequences can make headlines—for example, Google cloud services experienced a failure in April 2016 due to a combination of human error and software bugs [47], and Twitter went down in January 2016 due to problems caused by faulty software upgrades [116]. Beyond hurting users, downtime can cost companies tens of thousands of dollars per minute [28]. The stakes are only becoming higher, as networks are relying on programmable devices and more complex software, and this added complexity means that the human effort required in (re) configuring these systems could quickly become unmanageable. What is needed is better programming languages/tools for networked systems, and in this thesis, I outline a promising new approach based on program synthesis.
Total citations
2018201920202021202220232024111