KernelGraph: Understanding the kernel in a graph. (July 2019)
- Record Type:
- Journal Article
- Title:
- KernelGraph: Understanding the kernel in a graph. (July 2019)
- Main Title:
- KernelGraph: Understanding the kernel in a graph
- Authors:
- Shi, Jianjun
Ji, Weixing
Zhang, Jingjing
Gao, Zhiwei
Wang, Yizhuo
Shi, Feng - Abstract:
- 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 otherThe 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. … (more)
- Is Part Of:
- Information visualization. Volume 18:Number 3(2019)
- Journal:
- Information visualization
- Issue:
- Volume 18:Number 3(2019)
- Issue Display:
- Volume 18, Issue 3 (2019)
- Year:
- 2019
- Volume:
- 18
- Issue:
- 3
- Issue Sort Value:
- 2019-0018-0003-0000
- Page Start:
- 283
- Page End:
- 296
- Publication Date:
- 2019-07
- Subjects:
- Linux kernel -- code visualization -- program comprehension
Information visualization -- Periodicals
006.605 - Journal URLs:
- http://ivi.sagepub.com/ ↗
http://www.palgrave-journals.com/ivs/index.html ↗
http://www.uk.sagepub.com ↗ - DOI:
- 10.1177/1473871617743239 ↗
- Languages:
- English
- ISSNs:
- 1473-8716
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 4496.401000
British Library DSC - BLDSS-3PM
British Library HMNTS - ELD Digital store - Ingest File:
- 11437.xml