Design, implementation, and evaluation of a Revision Control System
ICSE '82 Proceedings of the 6th international conference on Software engineering
Process-Centric Analytical Processing of Version Control Data
IWPSE '03 Proceedings of the 6th International Workshop on Principles of Software Evolution
Unraveling the complexity of network management
NSDI'09 Proceedings of the 6th USENIX symposium on Networked systems design and implementation
A plea from sysadmins to software vendors: 10 do's and don'ts
Communications of the ACM
A Plea to Software Vendors from Sysadmins - 10 Do's and Don'ts
Queue - System Administration
Using hierarchal change mining to manage network security policy evolution
Hot-ICE'11 Proceedings of the 11th USENIX conference on Hot topics in management of internet, cloud, and enterprise networks and services
ACM SIGCOMM Computer Communication Review
XUTools: UNIX commands for processing next-generation structured text
lisa'12 Proceedings of the 26th international conference on Large Installation System Administration: strategies, tools, and techniques
Toward a cyber-physical topology language: applications to NERC CIP audit
Proceedings of the first ACM workshop on Smart energy grid security
Hi-index | 0.02 |
Computer networks and the Internet have become necessary tools in many daily activities; as such, they share the expectation to be "always on" and highly available. Throughout a decades-long evolution of increasing reliance, campus/enterprise networks and Wide-Area Networks (WANs) have been engineered and maintained by an increasingly large set of skilled practitioners, i.e., network operators or engineers. While strikingly similar to the evolution of software and software development by programmers and software engineers, there has not been similar attention to the discipline of network operations as there has to that of software engineering. In this work, we analyze the deployment and operation of two large networks over a period of five to ten years. Our analogy-based approach is to apply software source code artifact analysis techniques to network device configurations. Specifically, we analyze the repositories of router and switch configurations of both a large campus and a service-provider network; these repositories store the actions of hundreds of practitioners maintaining thousands of pieces of equipment over more than ten years time. Our results expose the evolution of these networks both longitudinally in time and by network device types and topological roles. We reverse-engineer operators' work behavior in terms of how they use version control tools, how they change network device configurations, and how long their changes last in a production network. Lastly, we evaluate our proposed analogy between software engineering and network operations, i.e., that network operators are programmers, by comparing and contrasting the analysis of software development to that of modern network operations.