This document summarizes literature on tools for mapping and visualizing source code. It describes 14 tools for visualizing code written in languages like Java, C++, and UML. The tools help software developers and maintainers understand large code bases, changes over time, and linkages between design and implementation. However, most tools only address traditional languages and do not recover full system architecture or integrate problem and solution domains. The document recommends future tools leverage natural language processing and machine learning to better understand source code.