{"title":"通过提供动态调用图的21/2D可视化,促进对不熟悉的源代码的探索","authors":"J. Bohnet, J. Döllner","doi":"10.1109/VISSOF.2007.4290701","DOIUrl":null,"url":null,"abstract":"For modifying functionality of legacy software systems developers often need to work within millions of lines of unfamiliar code. In this paper we propose a concept that exploits dynamic call graphs for (a) identifying code parts that implement the functionality to be modified and (b) guiding developers while navigating from one source code file to another. The proposed concept is implemented within a tool for analyzing complex C/C++ software systems and has been tested on various million LOC systems. The tool provides a visualization front-end that permits developers to explore the system implementation on 3 levels of abstraction: (I) source code, (2) function interaction, and (3) module interaction. A 21/2D visualization view exploits perspective distortion for displaying both detailed and context information on Junctions and modules, by this, supporting developers during their comprehension tasks.","PeriodicalId":217160,"journal":{"name":"2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis","volume":"7 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2007-06-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Facilitating Exploration of Unfamiliar Source Code by Providing 21/2D Visualizations of Dynamic Call Graphs\",\"authors\":\"J. Bohnet, J. Döllner\",\"doi\":\"10.1109/VISSOF.2007.4290701\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"For modifying functionality of legacy software systems developers often need to work within millions of lines of unfamiliar code. In this paper we propose a concept that exploits dynamic call graphs for (a) identifying code parts that implement the functionality to be modified and (b) guiding developers while navigating from one source code file to another. The proposed concept is implemented within a tool for analyzing complex C/C++ software systems and has been tested on various million LOC systems. The tool provides a visualization front-end that permits developers to explore the system implementation on 3 levels of abstraction: (I) source code, (2) function interaction, and (3) module interaction. A 21/2D visualization view exploits perspective distortion for displaying both detailed and context information on Junctions and modules, by this, supporting developers during their comprehension tasks.\",\"PeriodicalId\":217160,\"journal\":{\"name\":\"2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis\",\"volume\":\"7 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2007-06-24\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/VISSOF.2007.4290701\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2007 4th IEEE International Workshop on Visualizing Software for Understanding and Analysis","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/VISSOF.2007.4290701","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Facilitating Exploration of Unfamiliar Source Code by Providing 21/2D Visualizations of Dynamic Call Graphs
For modifying functionality of legacy software systems developers often need to work within millions of lines of unfamiliar code. In this paper we propose a concept that exploits dynamic call graphs for (a) identifying code parts that implement the functionality to be modified and (b) guiding developers while navigating from one source code file to another. The proposed concept is implemented within a tool for analyzing complex C/C++ software systems and has been tested on various million LOC systems. The tool provides a visualization front-end that permits developers to explore the system implementation on 3 levels of abstraction: (I) source code, (2) function interaction, and (3) module interaction. A 21/2D visualization view exploits perspective distortion for displaying both detailed and context information on Junctions and modules, by this, supporting developers during their comprehension tasks.