Eugene H. Spafford Department of Computer Sciences Purdue University West Lafayette, IN 47907–1398 firstname.lastname@example.org
Abstract There has been considerable interest in computer viruses since they ﬁrst appeared in 1981, and especially in the past few years as they have reached epidemic numbers in many personal computer environments. Viruses have been writtenabout as a security problem, as a social problem, and as a possible means of performing useful tasks in a distributed computing environment. However, only recently have some scientists begun to ask if computer viruses are not a form of artiﬁcial life — a self-replicating organism. Simply because computer viruses do not exist as organic molecules may not be sufﬁcient reason to dismiss theclassiﬁcation of this form of “vandalware” as a form of life. This paper begins with a description of how computer viruses operate and their history, and of the various ways computer viruses are structured. It then examines how viruses meet properties associated with life as deﬁned by some researchers in the area of artiﬁcial life and selforganizing systems. The paper concludes with some comments directedtowards the deﬁnition of artiﬁcially “alive” systems and experimentation.
There has been considerable interest in computer viruses during the last several years. One aspect of this interest has been to ask if computer viruses are a form of artiﬁcial life, and what that might imply. To address this, we must ﬁrst understand something of the history and structure of computer
Portionsof this article are derived from ,  and . Copyright c 1989 ITAA, formerly ADAPSO, and 1991, 1993 by Eugene H. Spafford. Used with permission. To appear in the Journal of Artiﬁcial Life, MIT Press, 1994.
viruses. Thus, we will begin with a condensed, high-level description of computer viruses — their history, structure, and how they relate to some properties thatmight deﬁne artiﬁcial life. A more detailed introduction to the topic of computer viruses may be found in the references, particularly [9, 2, 3, 5] and . Also of use are [11, 14, 10, 16] and , although the lists presented in the latter are somewhat out of date.
2 What is a Computer Virus?
Computers are designed to execute instructions one after another. Those instructions usually dosomething useful — calculate values, maintain databases, and communicate with users and with other systems. Sometimes, however, the instructions executed can be damaging and malicious in nature. When that happens by accident, we call the code involved a software bug 1 — perhaps the most common cause of unexpected program behavior. If the source of the instructions was an individual who intended thatthe abnormal behavior occur, then we consider this malicious coding; authorities have sometimes referred to this code as malware and vandalware. These names relate to the usual effect of such software. There are many distinct forms of this software that are characterized by the way they behave, how they are triggered, and how they spread. In recent years, occurrences of malware have been describedalmost uniformly by the media as computer viruses. In some environments, people have been quick to report almost every problem as the result of a virus. This is unfortunate, as most problems are from other causes (including, most often, operator error). Viruses are widespread, but they are not responsible for many of the problems attributed to them. The term computer virus is derived from and is insome sense analogous to a biological virus. The word virus itself is Latin for poison. Simplistically, biological viral infections are spread by the virus (a small shell containing genetic material) injecting its contents into a far larger organism’s cell. The cell then is infected and converted into a biological factory producing replicants of the virus. Similarly, a computer virus is a...