Software visualization aims to provide common views for communication, help discover phenomena through visual patterns, and aid in comprehending software aspects by navigating views. However, choosing the best visualization technique is difficult, with a chance of only 2 in a million given the many options and required mappings. To address this, the document proposes systematically reviewing literature to classify visualization tools, techniques, data types, user needs, and contexts to enable more suitable automatic software visualizations tailored to specific developer tasks.