通过提供动态调用图的21/2D可视化,促进对不熟悉的源代码的探索

J. Bohnet, J. Döllner
{"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}
引用次数: 6

摘要

为了修改遗留软件系统的功能,开发人员经常需要在数百万行不熟悉的代码中工作。在本文中,我们提出了一个利用动态调用图的概念,用于(a)识别实现要修改的功能的代码部分,以及(b)在从一个源代码文件导航到另一个源代码文件时指导开发人员。提出的概念在分析复杂C/ c++软件系统的工具中实现,并已在各种LOC系统上进行了测试。该工具提供了一个可视化前端,允许开发人员在3个抽象层次上探索系统实现:(1)源代码,(2)功能交互,(3)模块交互。21/2D可视化视图利用透视失真来显示结点和模块的详细信息和上下文信息,从而支持开发人员进行理解任务。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
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.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信