Skip to main content
CS Colloquium | November 13, 2008

The Case For Infrastructure Maintenance

Jim Horning, Sparta, Sunnyvale

Stevenson Hall 1300
11:00 AM - 11:50 AM

Civilization and infrastructure are intimately intertwined. Rising civilizations build and benefit from their infrastructures in a “virtuous cycle. As civilizations decline, their infrastructures decay. Dependence on critical infrastructures is increasing worldwide. This is true not only of information systems and network services, but also of energy, water, sanitation, transportation, and others that we rely on for our livelihood and well-being. These critical infrastructures are becoming more interrelated, and more heavily dependent on information technology. People demand ever more and better services, but understand ever less about what it takes to provide those services. Engineers know that physical infrastructures decay without regular maintenance, and prepare for aging (e.g., corrosion and erosion) that requires inspections and repairs. Proper maintenance is generally the cheapest form of insurance against failures. However, it has a definite present cost that must be balanced against the unknown future cost of possible failures. Although computer software does not rust, it is subject to incompatibilities and failures caused by evolving requirements, changing environments, changes in underlying hardware and software, changing user practices, and malicious exploitation of discovered vulnerabilities. Therefore, it requires maintenance. Yet the costs of maintenance are often ignored in the planning, design, construction, and operation of critical systems. Incremental upgrades to software are error-prone. Software engineers receive little training in preparing for software aging, in supporting legacy software, or in knowing when and how to terminate decrepit legacy systems.