At this level of abstraction, there is no distinction between a worm and a virus.
(For comparison, the virus pseudocode is on page 27.) The real difference is
in how they propagate. Propagating by infecting other code is the domain of
a virus; actively searching for vulnerable machines across a network makes a
worm. A worm can either be said to infest or infect its victims; the latter term
will be used here. A single copy of a worm will be called a worm instance,
where it's necessary to avoid ambiguity