Aimed at improving a programmers ability for altering code to fit changing requirements and for detecting and correcting errors, this book argues for a new way of thinking about maintaining software. It proposes the use of a set of human factors principles that govern the programmer-software-event world interactions and form the core of the maintenance process. The book is thus highly valuable for systems analysts and programmers, managers seeking to reduce costs, researchers looking at solutions to the maintenance problem, and students learning to write clear unambiguous programs.This book is about maintaining computer software. Its aim is to improve a pro? gram's capacity for altering code to fit changing requirements and for detecting and correcting errors. The book is written primarily for systems analysts and programmers. But others will also find it interesting. Managers will find ways to decrease costs, improve the organization's performance, and lessen its liability exposure. Re? searchers will be given principles to expand upon, and will be able to develop techniques for solving new problems that arise in the world of maintenance. Another group to benefit is students. They will be given a foundation from which to write clear unambiguous programs. Software maintenance is an important and timely area of investigation. It is the component that gives an information system its flexibility. It is also the source of many of its problems. Software is costly to maintain. It is the usual cause of system failures and is the frequently cited reason why systems operate in unintended ways. Most software problems are not serious and require only minor repairs. But some have resulted in the loss of significant physical and financial resources. Others have cost lives. The book argues for a new way of thinking about maintaining software. Tra? ditional approaches, using software engineering and management disciplines, do not adequately address maintenance issues. What is proplĂ