当前位置: X-MOL 学术Inf. Visualization › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
KernelGraph: Understanding the kernel in a graph
Information Visualization ( IF 2.3 ) Pub Date : 2018-02-01 , DOI: 10.1177/1473871617743239
Jianjun Shi 1 , Weixing Ji 1 , Jingjing Zhang 1 , Zhiwei Gao 1 , Yizhuo Wang 1 , Feng Shi 1
Affiliation  

The Linux kernel has grown to 20 million lines of code, which have been contributed by almost 14,000 programmers. The complexity of the Linux kernel challenges the kernel maintenance and makes comprehending the kernel more difficult for developers learning the kernel. Automated tool support is crucial for comprehending such a large-scale program involving a high volume of code. In this article, we present KernelGraph, which enhances understanding of the Linux kernel by providing a visual representation of kernel internals. KernelGraph resembles online map systems and facilitates kernel code navigation in an intuitive and interactive way. We describe the key techniques used in KernelGraph to process the vast amount of information in the kernel codebase quickly. We also implemented two applications built atop KernelGraph to enhance kernel comprehension. KernelGraph was presented to 30 participants, who were asked several questions about their kernel comprehension in a controlled study. Our experimental results show that, compared with other source code comprehension tools, KernelGraph improves kernel comprehension by enabling people to visually browse the kernel code and by providing an effective means for exploring the kernel structure. The ability to switch seamlessly between high-level views and source code significantly reduces the gap between source code and high-level mental representation. KernelGraph can be easily extended to support visualizations of other large-scale codebases.

中文翻译:

KernelGraph:理解图中的内核

Linux 内核已发展到 2000 万行代码,由近 14,000 名程序员贡献。Linux 内核的复杂性给内核维护带来了挑战,使得学习内核的开发人员更难理解内核。自动化工具支持对于理解这样一个涉及大量代码的大型程序至关重要。在本文中,我们介绍了 KernelGraph,它通过提供内核内部结构的可视化表示来增强对 Linux 内核的理解。KernelGraph 类似于在线地图系统,并以直观和交互的方式促进内核代码导航。我们描述了 KernelGraph 中用于快速处理内核代码库中大量信息的关键技术。我们还实现了两个构建在 KernelGraph 之上的应用程序,以增强内核理解。KernelGraph 被展示给了 30 名参与者,他们在一项对照研究中被问到了几个关于他们对内核理解的问题。我们的实验结果表明,与其他源代码理解工具相比,KernelGraph 通过使人们能够直观地浏览内核代码并通过提供探索内核结构的有效手段来提高内核理解能力。在高级视图和源代码之间无缝切换的能力显着减少了源代码和高级心理表征之间的差距。KernelGraph 可以轻松扩展以支持其他大规模代码库的可视化。在一项对照研究中,他们被问到几个关于内核理解的问题。我们的实验结果表明,与其他源代码理解工具相比,KernelGraph 通过使人们能够直观地浏览内核代码并通过提供探索内核结构的有效手段来提高内核理解能力。在高级视图和源代码之间无缝切换的能力显着减少了源代码和高级心理表征之间的差距。KernelGraph 可以轻松扩展以支持其他大规模代码库的可视化。在一项对照研究中,他们被问到几个关于内核理解的问题。我们的实验结果表明,与其他源代码理解工具相比,KernelGraph 通过使人们能够直观地浏览内核代码并通过提供探索内核结构的有效手段来提高内核理解能力。在高级视图和源代码之间无缝切换的能力显着减少了源代码和高级心理表征之间的差距。KernelGraph 可以轻松扩展以支持其他大规模代码库的可视化。KernelGraph 通过使人们能够直观地浏览内核代码并提供探索内核结构的有效手段来提高内核理解能力。在高级视图和源代码之间无缝切换的能力显着减少了源代码和高级心理表征之间的差距。KernelGraph 可以轻松扩展以支持其他大规模代码库的可视化。KernelGraph 通过使人们能够直观地浏览内核代码并提供探索内核结构的有效手段来提高内核理解能力。在高级视图和源代码之间无缝切换的能力显着减少了源代码和高级心理表征之间的差距。KernelGraph 可以轻松扩展以支持其他大规模代码库的可视化。
更新日期:2018-02-01
down
wechat
bug