Assessing the reliability of computer software has been an active area of research in computer science for the past twenty years. To date, well over a hundred probability models for software reliability have been proposed. These models have been motivated by seemingly unrelated arguments and have been the subject of active debate and discussion. In the meantime, the search for an ideal model continues to be pursued. The purpose of this paper is to point out that practically all the proposed models for software reliability are special cases of self-exciting point processes. This perspective unifies the very diverse approaches to modeling reliability growth and provides a common structure under which problems of software reliability can be discussed.