Abstract-Software visualization has been adopted to help engineers understand the design and functionality better and faster. A number of visualization techniques have been developed in the field of structure, behavior and evolution recently. However, there is little attempt to comprehensively review current state of the art for software professionals. As a consequence, this paper employs a systematic review of research literature on the visualization of code, to identify current application tasks, discuss variety effectiveness of visual representations, and sort out their relationships to improve usability. Finally, unsolved issues and future research opportunities have been discussed.