  Given two graphs $H$ and $G$, the Subgraph Isomorphism problem asks if $H$ is
isomorphic to a subgraph of $G$. While NP-hard in general, algorithms exist for
various parameterized versions of the problem: for example, the problem can be
solved (1) in time $2^{O(|V(H)|)}\cdot n^{O(\tw(H))}$ using the color-coding
technique of Alon, Yuster, and Zwick; (2) in time $f(|V(H)|,\tw(G))\cdot n$
using Courcelle's Theorem; (3) in time $f(|V(H)|,\genus(G))\cdot n$ using a
result on first-order model checking by Frick and Grohe; or (4) in time
$f(\maxdeg(H))\cdot n^{O(\tw(G)})$ for connected $H$ using the algorithm of
Matou\v{s}ek and Thomas. Already this small sample of results shows that the
way an algorithm can depend on the parameters is highly nontrivial and subtle.
  We develop a framework involving 10 relevant parameters for each of $H$ and
$G$ (such as treewidth, pathwidth, genus, maximum degree, number of vertices,
number of components, etc.), and ask if an algorithm with running time \[
f_1(p_1,p_2,..., p_\ell)\cdot n^{f_2(p_{\ell+1},..., p_k)} \] exist, where each
of $p_1,..., p_k$ is one of the 10 parameters depending only on $H$ or $G$. We
show that {\em all} the questions arising in this framework are answered by a
set of 11 maximal positive results (algorithms) and a set of 17 maximal
negative results (hardness proofs); some of these results already appear in the
literature, while others are new in this paper.
  On the algorithmic side, our study reveals for example that an unexpected
combination of bounded degree, genus, and feedback vertex set number of $G$
gives rise to a highly nontrivial algorithm for Subgraph Isomorphism. On the
hardness side, we present W[1]-hardness proofs under extremely restricted
conditions, such as when $H$ is a bounded-degree tree of constant pathwidth and
$G$ is a planar graph of bounded pathwidth.
