KernelGraph: Understanding the kernel in a graph

Jianjun Shi, Weixing Ji*, Jingjing Zhang, Zhiwei Gao, Yizhuo Wang, Feng Shi

*此作品的通讯作者

科研成果: 期刊稿件文章同行评审

2 引用 (Scopus)
Plum Print visual indicator of research metrics
  • Citations
    • Citation Indexes: 1
  • Captures
    • Readers: 10
see details

摘要

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.

源语言英语
页(从-至)283-296
页数14
期刊Information Visualization
18
3
DOI
出版状态已出版 - 1 7月 2019

指纹

探究 'KernelGraph: Understanding the kernel in a graph' 的科研主题。它们共同构成独一无二的指纹。

引用此

Shi, J., Ji, W., Zhang, J., Gao, Z., Wang, Y., & Shi, F. (2019). KernelGraph: Understanding the kernel in a graph. Information Visualization, 18(3), 283-296. https://doi.org/10.1177/1473871617743239