A software program can be represented as a map depicting respective
software components of the software program. A grid system can be used,
and map elements can be contiguous geometric shapes. Affinity between the
software components can be represented in the map, such as by placing
corresponding map elements close to one other in the map. During
navigation through source code, an indication of where within the source
code the navigation has occurred can be displayed on the map. Paths can
be shown on the map. A technique for building the map can rely on a
metric of a software component when generating a corresponding map
element in the software map. The map can be depicted as a geographic map
to help developers locate components.