Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Haroran Su

dblp:352/3106 · DBLP profile ↗
← Back
1ranked-venue papers
0as first author
1since 2021 · last 2023
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 1 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Software maintenance and evolution · 50% Operating systems · 25% Program analysis · 25%

Topics — the 4 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software maintenance and evolution › software maintenance
bug fixing
0.712023
Understanding and Mitigating Twin Function Misuses in Operating System Kernel · IEEE Trans. Computers 2023
Software maintenance and evolution › software updates
kernel patching
0.712023
Understanding and Mitigating Twin Function Misuses in Operating System Kernel · IEEE Trans. Computers 2023
Operating systems › system security › operating system security
kernel security
0.712023
Understanding and Mitigating Twin Function Misuses in Operating System Kernel · IEEE Trans. Computers 2023
Program analysis
static analysis
0.712023
Understanding and Mitigating Twin Function Misuses in Operating System Kernel · IEEE Trans. Computers 2023

Methods — techniques the papers use, named apart from their topics

type-based function pointer resolution · 0.7static program analysis · 0.7callgraph tainting · 0.7
YearPublicationVenuePosition
2023 Understanding and Mitigating Twin Function Misuses in Operating System Kernel
abstract
Major operating system kernels expose twin functions, which are groups of internal primitives that have mostly common but slightly diverging semantics, to kernel modules and subsystems. They are created to make the basic primitives work well in various scenarios. Unfortunately, though being expected as solutions, twin functions may turn to problem-makers in practice. As we have observed from over 500 patches applied to upstream Linux and FreeBSD, developers choose an improper one from the twins, leaving the kernel with stability and security bugs as well as error-prone code. In this paper, we aim to understand and mitigate the twin function misuse problem. First, we provide an informative discussion on the misuse-fix patches. We find that violating the constraints from calling context, missing the primitives with better performance, lacking the necessary security enhancements, and breaking the kernel coding style are the four major factors that lead to misuse. We then identify the programming rules from the patches and apply them with a static program analysis tool extended from Coccinelle, including callgraph tainting and type-based function pointer resolving. We have 136 patches accepted by the Linux community and fix 320 new misuses in the upstream Linux kernel.
Jinyu Gu 0001, Jiacheng Shi 0002, Haroran Su, Wentai Li, Binyu Zang, Haibing Guan, Haibo Chen 0001
IEEE Trans. Computers3