We study computer virology from an abstract point of view. Viruses and worms are self-replicating programs, whose constructions are essentially based on Kleene's second recursion theorem. We show that we can classify viruses as solutions of fixed point equations which are obtained from different versions of Kleene's second recursion theorem. This lead us to consider four classes of viruses which various polymorphic features. We propose to use virus distribution in order to deal with mutations. Topics covered. Computability theoretic aspects of programs, computer virology. Keywords. Computer viruses, polymorphism, propagation, recursion theorem, iteration theorem. 1 Theoretical Computer Virology An important information security breach is computer virus infections. Following Filiol's book [9], we do think that theoretical studies should help to design new defenses against computer viruses. The objective of this paper is to pursue a theoretical study of computer viruses in...