<%@ page language="java" contentType="text/html" %> <%-- Include common initialisation code --%> <%@ include file="/arch/common.jsp" %> <%-- The current tab --%> <% String currentTab = "Research"; %> <%-- Content of navigation pane --%> <%@ include file="nav.jsp" %> <% showCurrentLink=true; %> <%-- Current navigation location --%> <% String currentNav = "Reports and Theses"; %> <%-- Include the code for the document header --%> <%@ include file="/arch/header.jsp" %>

Research Report CS-RR-297

<%-- Include the code for the lines and navigation --%> <%@ include file="/arch/middle.jsp" %>

L.A. Goldberg, P.W. Goldberg, C.A. Phillips and G.B. Sorking, Constructing Computer Virus Phylogenies (January 1, 1996).

Abstract

There has been much recent algorithmic work on the problem of reconstructing the evolutionary history of biological species. Computer virus specialists are interested in finding the evolutionary history of computer viruses - a virus is often written using code fragments from one or more other viruses, which are its immediate ancestors. A phylogeny for a collection of computer viruses is a directed acyclic graph whose nodes are the viruses and whose edges map ancestors to descendants and satisfy the property that each code fragment is "invented" only once. To provide a simple explanation for the data, we consider the problem of constructing such a phylogeny with a minimum number of edges. In general this optimization problem is NP-complete; some associated approximation problems are also hard, but others are easy. When tree solutions exist, they can be constructed and randomly sampled in polynomial time.

<%@ include file="cited.html" %>

L.A. Goldberg, P.W. Goldberg, C.A. Phillips and G.B. Sorkin, "Constructing Computer Virus Phylogenies", Journal of Algorithms 26(1) pp. 188-208(1998); to appear

<%-- Include the code for the document footer --%> <%@ include file="/arch/footer.jsp" %>