New software dependency validation process increases speeds by 54x
Overhead reduced by as much as 99.7%
Japanese researchers have developed a novel software dependency validation process that can reduce build error detection times by an impressive 99.7 percent, compared to traditional methods. The innovation comes from Waseda University, where computer scientists Yuta Saito, Kazunori Sakamoto, and Hironori Washizaki have created a tool called mkcheck2. This tool leverages extended Berkeley Packet Filter (eBPF)-based system call tracing to analyze dependencies, resulting in significant efficiency gains.
Traditional build systems, such as Make, CMake, and Zig, automate the process of turning source code into executable programs but often struggle with dependency specification management, which accounts for more than half of all build errors in large projects. Existing tools like ptrace used for dependency verification impose significant overhead, slowing down the process. mkcheck2 addresses this issue by performing incremental analysis, cutting the mean analysis time per commit from 1267.49 seconds to just 23.56 seconds, a remarkable improvement that makes continuous dependency verification feasible in real-world development environments, ultimately achieving speeds 54x faster per commit.
The eBPF-based system call tracer employed by mkcheck2 operates directly in kernel space, allowing for non-invasive monitoring of build processes without the performance penalties associated with ptrace, which requires process suspension and context switches for each system call. While the approach is Linux-specific, the researchers believe it has the potential to transform software build processes, particularly for large open-source projects.
Despite some limitations, such as its Linux-only compatibility and challenges in tracking certain types of dependencies, mkcheck2 represents a promising step forward in increasing the speed and reliability of software development.
Written by urgent.news from The Register Science's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.
This story
This is one outlet's version. Read the fullest account.