Despite heroic efforts in testing, static analysis, specification, and verification, all real-world software -- desktop applications, servers, and transportation systems---deploys with defects and missing functionality, costing the US economy billions and threatening our well-being. This project proposes a transformative paradigm shift to "perpetually available software systems" (PASS) that will make software more available and robust by directly addressing errors in deployed software. PASS innovations will (1) improve user experience by keeping real-world software running longer; (2) ensure good performance; (3) assist developers in fixing errors while allowing patches to be safely deployed on running software, to avoid downtime. The project will mine error reports in open source software repositories to derive error classes and test suites. It will evaluate system effectiveness by comparing with bug reports and patches in repositories. Innovations will include (1) detection and remediation elements that target common errors, (2) semantic foundations for remediation and on-line updating, and (3) integration of elements to exploit synergy among the components. The project will explore and analyze novel safe, probabilistically-safe, and extended-semantics remediations/updates. The project will develop both C/C++ and Java runtimes, because they are the most widely used languages and pose unique challenges. Methods will include combining dynamic, static, and remediation/update analysis and results. The project will train graduate, undergraduate, and post doctoral students, and participate in outreach to under-represented groups. The tools will be made publicly available, adding to the national research infrastructure.