Discover Concurrency in C Program

Sometimes, you get the opportunity to implement a C function that will be called by other programs. In some cases, the program may be multi-threaded, and you might want to verify whether your function is being called simultaneously by multiple threads :)

Read More

Having Fun with ARM64 Linux Kernel

Lately, I’ve been working on a project related to recording Linux kernel execution traces at the object code level. During this process, I had the opportunity to work with the ARM64 architecture on Linux. I decided to write this blog to capture some of the highlights I learned along the way.

Read More

Linux Commandline Tips

When using the Linux command line and related tools, there are many useful tricks and common practices worth noting. In this post, I’m keeping a running list of tips related to Linux command-line tools for future reference.

Read More

Kernel Testing Papers and Tools Collection

This blog presents a growing collection of papers and tools related to the topic of kernel testing. I (hopefully ;p) plan to update it regularly, since I want it to serve as a handy index whenever I revisit this topic.

Read More

Symbolic Execution Paper Collections

This blog presents a growing collection of papers and tools related to the topic of symbolic execution. I (hopefully ;p) plan to update it regularly, since I want it to serve as a handy index whenever I revisit this topic.

Read More

Source Code Study - QEMU cpu_exec.c

Lately, I’ve been trying to record assembly execution trace of QEMU emulations. To grasp a better understanding of this process, I decided to take a look at the source code of QEMU, accel/tcg/cpu_exec.c in particular. As I’m reading the source code, I write this blog post as a review of what I’ve learnt from it.

Read More

A Brief Review of Git Operations


As a popular SVN, Git appears in almost every developper’s toolkit, regardless of what type of projects they are working on. Git provides us with a convenient way to keep track of all the changes made to a project, so that we can easily revert the project back to certain states if errors occur.

Read More

Hello World

It’s 0:30am, Jan 24th, 2023. I’m writing this very first blog on this website.

Read More