{"title":"Property-Driven Dynamic Call Graph Exploration","authors":"Michael Burch","doi":"10.1145/3231622.3231630","DOIUrl":null,"url":null,"abstract":"Analyzing and visualizing call relations can provide useful insights into the connectivities and linkings of certain parts of a software system. This can in particular be a good strategy to find software system parts that are interlinked a lot while others typically occur as more or less stand-alone components not called by many others. The challenging problem with call relation data comes from the dynamics of the data, i.e., a call graph can be changing either during the development of a software system or during the execution of the software. The second case mostly leads to long graph sequences changing on a fine-granular temporal scale requiring a suitable overview-based dynamic graph visualization technique. Moreover, identifying certain temporal patterns in the graph evolution can help to detect certain phases of either the evolution of a software system or phases during the execution that can show which components are connected while someone interacts with the runnable software for example. This can particularly be based on graph, layout, or attribute properties, all providing different perspectives on the dynamics of the graph data. We illustrate the usefulness of our visualization technique by applying it to the open source software project JHotDraw. The call graphs are recorded during runtime while typical user interactions are applied.","PeriodicalId":272967,"journal":{"name":"Proceedings of the 11th International Symposium on Visual Information Communication and Interaction","volume":"10 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-08-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 11th International Symposium on Visual Information Communication and Interaction","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3231622.3231630","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
Analyzing and visualizing call relations can provide useful insights into the connectivities and linkings of certain parts of a software system. This can in particular be a good strategy to find software system parts that are interlinked a lot while others typically occur as more or less stand-alone components not called by many others. The challenging problem with call relation data comes from the dynamics of the data, i.e., a call graph can be changing either during the development of a software system or during the execution of the software. The second case mostly leads to long graph sequences changing on a fine-granular temporal scale requiring a suitable overview-based dynamic graph visualization technique. Moreover, identifying certain temporal patterns in the graph evolution can help to detect certain phases of either the evolution of a software system or phases during the execution that can show which components are connected while someone interacts with the runnable software for example. This can particularly be based on graph, layout, or attribute properties, all providing different perspectives on the dynamics of the graph data. We illustrate the usefulness of our visualization technique by applying it to the open source software project JHotDraw. The call graphs are recorded during runtime while typical user interactions are applied.