Historically, resources (e.g., dynamic linked libraries) were organized
based on factors including the expertise of development teams.
Unfortunately, this creates shared resources of much greater
functionality than required by any one client application. By
reformulating shared resources according to the nodes reachable from a
set of defined entry points, the reformulated resources will contain
nodes of relevance. This optimization reduces memory requirements which
is useful for embedded systems and for reducing disk accesses.