Font Size: a A A

Visual Analysis Of Source Code For Program Comprehension

Posted on:2020-08-04Degree:MasterType:Thesis
Country:ChinaCandidate:W D HuangFull Text:PDF
GTID:2428330572496509Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Software visualization utilizes visualization techniques to help developers better understand and solve problems in software development.The fundamental problem is program comprehension,which is the foundation of developing,improving,as well as refactoring existing systems.However,program comprehension is a major cost factor in developing and maintaining software systems.Thus,this thesis focuses on program comprehension with both the machine coding information and the sematic coding information,and we design and implement two visualization systems.For the machine coding information,our first visual analytics system is based on file dependencies.The system is used for helping developers analyze and remove bad dependencies,which are detrimental to program maintenance.Firstly,the developer explores the spatial distributions of bad dependencies in a system,and then he/she can select a file which has a particular function or structure by means of other auxiliary visualization.For all the bad dependencies related to the selected file,the developer can analyze the reasons why they occur with the help of word clouds,dependency detail chart,code panel and so on.Case studies are used to illustrate the effectiveness of the system in analyzing and removing bad dependencies.For the sematic coding information,the second visual analytics system applies topic modeling to comments and variable names in the code.The system is used to understand the underlying topics and their evolution in software development,gain insights into the changes in topic.The topic spatial distribution chart and the topic evolution time series are used to analyze topics in the spatial and temporal dimension,respectively.A diff-file chart is designed to explore changes in topics and help users select files causing those changes.Case studies are used to demonstrate the effectiveness and usefulness of our system.
Keywords/Search Tags:Software visualization, Program Comprehension, File Dependencies, Topic evolution, Visual analytics
PDF Full Text Request
Related items