1. A software analysis tool comprising: means for converting software entities and their relationships into a graph having a structure of nodes interconnected by edges, and an editor comprising means for allowing a user to edit the graph, wherein the graph includes a meta node and edge representing a child graph, and wherein the software entities comprise software program code.