Tag Clouds in Software Visualisation
Degree GrantorUniversity of Canterbury
Degree NameMaster of Science
Developing and maintaining software is a difficult task, and finding effective methods of understanding software is more necessary now than ever with the last few decades seeing a dramatic climb in the scale of software. Appropriate visualisations may enable greater understanding of the datasets we deal with in software engineering. As an aid for sense-making, visualisation is widely used in daily life (through graphics such as weather maps and road signs), as well as in other research domains, and is thought to be exceedingly beneficial. Unfortunately, there has not been widespread use of the multitude of techniques which have proposed for the software engineering domain.
Tag clouds are a simple, text-based visualisation commonly found on the internet. Typically, implementations of tag clouds have not included rich interactive features which are necessary for data exploration. In this thesis, I introduce design considerations and a task set for enabling interaction in a tag cloud visualisation system. These considerations are based on an analysis of challenges in visualising software engineering data, and the perceptive influences of visual properties available in tag clouds.
The design and implementation of interactive system Taggle based on these considerations is also presented, along with its broad-based evaluation. Evaluation approaches were informed by a systematic mapping study of previous tag cloud evaluation, providing an overview of existing research in the domain. The design of Taggle was improved following a heuristic evaluation by domain experts. Subsequent evaluations were divided into two parts - experiments focused on the tag cloud visualisation technique itself, and a task-based approach focused on the whole interactive system. As evidenced in the series of evaluative studies, the enhanced tag cloud features incorporated into Taggle enabled faster visual search response time, and the system could be used with minimal training to discover relevant information about an unknown software engineering dataset.