如果说生成式AI编程代理还没让软件开发的速度够快的话,日本的计算机科学家们现在又想出了一种为构建依赖项验证过程加速的新方法,速度最高可提升54倍。
As if the pace of software creation hadn't accelerated enough thanks to generative AI coding agents, computer scientists in Japan have devised a way to turbocharge the process of build dependency verification. Speeds can increase by as much as 54x. Software build systems like Make, CMake, and the Zig build system automate the process of turning source code into executable programs. They ensure source files are compiled in the correct order and objects are linked correctly. They provide reproducible rebuilds and handle platform-specific compilation requirements, dependencies, tests, and documentation. But according to Yuta Saito, Kazunori Sakamoto, and Hironori Washizaki from Waseda University, dependency specification management remains a challenge, accounting for more than half of all build errors in large projects. Because existing tools like ptrace impose significant overhead, the researchers have devised a way to improve error detection by analyzing dependencies using extended Berkeley Packet Filter (eBPF)-based system call tracing. They've developed a tool called mkcheck2 that reduces the time and compute cost required to catch software build errors. And they explain their approach in a paper titled "Efficient Build Dependency Verification Using eBPF and Incremental Analysis," published in the Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering. "Our evaluation on a diverse set of open-source projects demonstrates that mkcheck2 reduces the overhead of dependency error detection by up to 99.7 percent compared to existing ptrace-based approaches while maintaining detection accuracy," the authors explain. "Across the entire 300-project Make corpus, the incremental analysis technique lowers the mean analysis time per commit from 1267.49 seconds to just 23.56 seconds, making continuous dependency verification practical in real-world development environments." That's about 54x faster per commit. The researchers say their eBPF-based system call tracer largely avoids the performance overhead imposed by ptrace. eBPF allows sandboxed programs to run within kernel space, where they can perform tasks involving networking, observability, security, and other low-level operations. It's been used for efficiency gains in services like Meta's Strobelight. "By executing tracing code directly in kernel space, we can monitor build processes with minimal impact on build performance," the authors explain in their paper. "Unlike ptrace, which requires process suspension and context switches for each system call, our eBPF-based approach provides non-invasive tracing by operating entirely within the kernel." The authors note that their approach has some limitations. The eBPF-tracing system is Linux-specific, so build systems for other operating systems can't expect the same gains. And there are various build-system scenarios that still present challenges, such as some kinds of redundant dependencies, tracking access to memory-mapped regions, visibility into dependencies for dynamically loaded libraries, network dependencies, and distributed build systems. Nonetheless, the potential for mkcheck2 to cut the overhead of dependency error detection by up to 99.7 percent compared to ptrace-based approaches promises to save a lot of time. ®
像Make、CMake和Zig构建系统这样的软件构建系统,能够自动将源代码转换为可执行程序。它们确保源文件以正确的顺序进行编译,并且正确链接目标文件。它们提供可重复的构建,并处理特定平台的编译需求、依赖项、测试以及文档。
As if the pace of software creation hadn't accelerated enough thanks to generative AI coding agents, computer scientists in Japan have devised a way to turbocharge the process of build dependency verification. Speeds can increase by as much as 54x. Software build systems like Make, CMake, and the Zig build system automate the process of turning source code into executable programs. They ensure source files are compiled in the correct order and objects are linked correctly. They provide reproducible rebuilds and handle platform-specific compilation requirements, dependencies, tests, and documentation. But according to Yuta Saito, Kazunori Sakamoto, and Hironori Washizaki from Waseda University, dependency specification management remains a challenge, accounting for more than half of all build errors in large projects. Because existing tools like ptrace impose significant overhead, the researchers have devised a way to improve error detection by analyzing dependencies using extended Berkeley Packet Filter (eBPF)-based system call tracing. They've developed a tool called mkcheck2 that reduces the time and compute cost required to catch software build errors. And they explain their approach in a paper titled "Efficient Build Dependency Verification Using eBPF and Incremental Analysis," published in the Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering. "Our evaluation on a diverse set of open-source projects demonstrates that mkcheck2 reduces the overhead of dependency error detection by up to 99.7 percent compared to existing ptrace-based approaches while maintaining detection accuracy," the authors explain. "Across the entire 300-project Make corpus, the incremental analysis technique lowers the mean analysis time per commit from 1267.49 seconds to just 23.56 seconds, making continuous dependency verification practical in real-world development environments." That's about 54x faster per commit. The researchers say their eBPF-based system call tracer largely avoids the performance overhead imposed by ptrace. eBPF allows sandboxed programs to run within kernel space, where they can perform tasks involving networking, observability, security, and other low-level operations. It's been used for efficiency gains in services like Meta's Strobelight. "By executing tracing code directly in kernel space, we can monitor build processes with minimal impact on build performance," the authors explain in their paper. "Unlike ptrace, which requires process suspension and context switches for each system call, our eBPF-based approach provides non-invasive tracing by operating entirely within the kernel." The authors note that their approach has some limitations. The eBPF-tracing system is Linux-specific, so build systems for other operating systems can't expect the same gains. And there are various build-system scenarios that still present challenges, such as some kinds of redundant dependencies, tracking access to memory-mapped regions, visibility into dependencies for dynamically loaded libraries, network dependencies, and distributed build systems. Nonetheless, the potential for mkcheck2 to cut the overhead of dependency error detection by up to 99.7 percent compared to ptrace-based approaches promises to save a lot of time. ®
但据早稻田大学的斋藤雄太(Yuta Saito)、坂本一宪(Kazunori Sakamoto)和鹫崎弘宜(Hironori Washizaki)介绍,依赖项规范管理依然是一个挑战,占大型项目中所有构建错误的半数以上。由于现有的诸如ptrace等工具会带来巨大的性能开销,研究人员设计了一种新方法,通过使用基于扩展伯克利数据包过滤器(eBPF)的系统调用追踪来分析依赖项,从而改进错误检测。
As if the pace of software creation hadn't accelerated enough thanks to generative AI coding agents, computer scientists in Japan have devised a way to turbocharge the process of build dependency verification. Speeds can increase by as much as 54x. Software build systems like Make, CMake, and the Zig build system automate the process of turning source code into executable programs. They ensure source files are compiled in the correct order and objects are linked correctly. They provide reproducible rebuilds and handle platform-specific compilation requirements, dependencies, tests, and documentation. But according to Yuta Saito, Kazunori Sakamoto, and Hironori Washizaki from Waseda University, dependency specification management remains a challenge, accounting for more than half of all build errors in large projects. Because existing tools like ptrace impose significant overhead, the researchers have devised a way to improve error detection by analyzing dependencies using extended Berkeley Packet Filter (eBPF)-based system call tracing. They've developed a tool called mkcheck2 that reduces the time and compute cost required to catch software build errors. And they explain their approach in a paper titled "Efficient Build Dependency Verification Using eBPF and Incremental Analysis," published in the Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering. "Our evaluation on a diverse set of open-source projects demonstrates that mkcheck2 reduces the overhead of dependency error detection by up to 99.7 percent compared to existing ptrace-based approaches while maintaining detection accuracy," the authors explain. "Across the entire 300-project Make corpus, the incremental analysis technique lowers the mean analysis time per commit from 1267.49 seconds to just 23.56 seconds, making continuous dependency verification practical in real-world development environments." That's about 54x faster per commit. The researchers say their eBPF-based system call tracer largely avoids the performance overhead imposed by ptrace. eBPF allows sandboxed programs to run within kernel space, where they can perform tasks involving networking, observability, security, and other low-level operations. It's been used for efficiency gains in services like Meta's Strobelight. "By executing tracing code directly in kernel space, we can monitor build processes with minimal impact on build performance," the authors explain in their paper. "Unlike ptrace, which requires process suspension and context switches for each system call, our eBPF-based approach provides non-invasive tracing by operating entirely within the kernel." The authors note that their approach has some limitations. The eBPF-tracing system is Linux-specific, so build systems for other operating systems can't expect the same gains. And there are various build-system scenarios that still present challenges, such as some kinds of redundant dependencies, tracking access to memory-mapped regions, visibility into dependencies for dynamically loaded libraries, network dependencies, and distributed build systems. Nonetheless, the potential for mkcheck2 to cut the overhead of dependency error detection by up to 99.7 percent compared to ptrace-based approaches promises to save a lot of time. ®
他们开发了一款名为mkcheck2的工具,减少了捕获软件构建错误所需的时间和计算成本。他们在题为《使用eBPF和增量分析的高效构建依赖项验证》("Efficient Build Dependency Verification Using eBPF and Incremental Analysis")的论文中阐述了这一方法,该论文已发表在2026年IEEE/ACM第48届国际软件工程会议论文集上。
As if the pace of software creation hadn't accelerated enough thanks to generative AI coding agents, computer scientists in Japan have devised a way to turbocharge the process of build dependency verification. Speeds can increase by as much as 54x. Software build systems like Make, CMake, and the Zig build system automate the process of turning source code into executable programs. They ensure source files are compiled in the correct order and objects are linked correctly. They provide reproducible rebuilds and handle platform-specific compilation requirements, dependencies, tests, and documentation. But according to Yuta Saito, Kazunori Sakamoto, and Hironori Washizaki from Waseda University, dependency specification management remains a challenge, accounting for more than half of all build errors in large projects. Because existing tools like ptrace impose significant overhead, the researchers have devised a way to improve error detection by analyzing dependencies using extended Berkeley Packet Filter (eBPF)-based system call tracing. They've developed a tool called mkcheck2 that reduces the time and compute cost required to catch software build errors. And they explain their approach in a paper titled "Efficient Build Dependency Verification Using eBPF and Incremental Analysis," published in the Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering. "Our evaluation on a diverse set of open-source projects demonstrates that mkcheck2 reduces the overhead of dependency error detection by up to 99.7 percent compared to existing ptrace-based approaches while maintaining detection accuracy," the authors explain. "Across the entire 300-project Make corpus, the incremental analysis technique lowers the mean analysis time per commit from 1267.49 seconds to just 23.56 seconds, making continuous dependency verification practical in real-world development environments." That's about 54x faster per commit. The researchers say their eBPF-based system call tracer largely avoids the performance overhead imposed by ptrace. eBPF allows sandboxed programs to run within kernel space, where they can perform tasks involving networking, observability, security, and other low-level operations. It's been used for efficiency gains in services like Meta's Strobelight. "By executing tracing code directly in kernel space, we can monitor build processes with minimal impact on build performance," the authors explain in their paper. "Unlike ptrace, which requires process suspension and context switches for each system call, our eBPF-based approach provides non-invasive tracing by operating entirely within the kernel." The authors note that their approach has some limitations. The eBPF-tracing system is Linux-specific, so build systems for other operating systems can't expect the same gains. And there are various build-system scenarios that still present challenges, such as some kinds of redundant dependencies, tracking access to memory-mapped regions, visibility into dependencies for dynamically loaded libraries, network dependencies, and distributed build systems. Nonetheless, the potential for mkcheck2 to cut the overhead of dependency error detection by up to 99.7 percent compared to ptrace-based approaches promises to save a lot of time. ®
作者解释说:“我们对各种开源项目进行的评估表明,与现有的基于ptrace的方法相比,mkcheck2在保持检测准确性的同时,将依赖项错误检测的开销降低了多达99.7%。”
As if the pace of software creation hadn't accelerated enough thanks to generative AI coding agents, computer scientists in Japan have devised a way to turbocharge the process of build dependency verification. Speeds can increase by as much as 54x. Software build systems like Make, CMake, and the Zig build system automate the process of turning source code into executable programs. They ensure source files are compiled in the correct order and objects are linked correctly. They provide reproducible rebuilds and handle platform-specific compilation requirements, dependencies, tests, and documentation. But according to Yuta Saito, Kazunori Sakamoto, and Hironori Washizaki from Waseda University, dependency specification management remains a challenge, accounting for more than half of all build errors in large projects. Because existing tools like ptrace impose significant overhead, the researchers have devised a way to improve error detection by analyzing dependencies using extended Berkeley Packet Filter (eBPF)-based system call tracing. They've developed a tool called mkcheck2 that reduces the time and compute cost required to catch software build errors. And they explain their approach in a paper titled "Efficient Build Dependency Verification Using eBPF and Incremental Analysis," published in the Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering. "Our evaluation on a diverse set of open-source projects demonstrates that mkcheck2 reduces the overhead of dependency error detection by up to 99.7 percent compared to existing ptrace-based approaches while maintaining detection accuracy," the authors explain. "Across the entire 300-project Make corpus, the incremental analysis technique lowers the mean analysis time per commit from 1267.49 seconds to just 23.56 seconds, making continuous dependency verification practical in real-world development environments." That's about 54x faster per commit. The researchers say their eBPF-based system call tracer largely avoids the performance overhead imposed by ptrace. eBPF allows sandboxed programs to run within kernel space, where they can perform tasks involving networking, observability, security, and other low-level operations. It's been used for efficiency gains in services like Meta's Strobelight. "By executing tracing code directly in kernel space, we can monitor build processes with minimal impact on build performance," the authors explain in their paper. "Unlike ptrace, which requires process suspension and context switches for each system call, our eBPF-based approach provides non-invasive tracing by operating entirely within the kernel." The authors note that their approach has some limitations. The eBPF-tracing system is Linux-specific, so build systems for other operating systems can't expect the same gains. And there are various build-system scenarios that still present challenges, such as some kinds of redundant dependencies, tracking access to memory-mapped regions, visibility into dependencies for dynamically loaded libraries, network dependencies, and distributed build systems. Nonetheless, the potential for mkcheck2 to cut the overhead of dependency error detection by up to 99.7 percent compared to ptrace-based approaches promises to save a lot of time. ®
“在包含300个项目的整个Make代码库中,增量分析技术将每次提交的平均分析时间从1267.49秒缩短至仅23.56秒,使得持续的依赖项验证在真实世界的开发环境中切实可行。”这相当于每次提交的速度提升了大约54倍。
As if the pace of software creation hadn't accelerated enough thanks to generative AI coding agents, computer scientists in Japan have devised a way to turbocharge the process of build dependency verification. Speeds can increase by as much as 54x. Software build systems like Make, CMake, and the Zig build system automate the process of turning source code into executable programs. They ensure source files are compiled in the correct order and objects are linked correctly. They provide reproducible rebuilds and handle platform-specific compilation requirements, dependencies, tests, and documentation. But according to Yuta Saito, Kazunori Sakamoto, and Hironori Washizaki from Waseda University, dependency specification management remains a challenge, accounting for more than half of all build errors in large projects. Because existing tools like ptrace impose significant overhead, the researchers have devised a way to improve error detection by analyzing dependencies using extended Berkeley Packet Filter (eBPF)-based system call tracing. They've developed a tool called mkcheck2 that reduces the time and compute cost required to catch software build errors. And they explain their approach in a paper titled "Efficient Build Dependency Verification Using eBPF and Incremental Analysis," published in the Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering. "Our evaluation on a diverse set of open-source projects demonstrates that mkcheck2 reduces the overhead of dependency error detection by up to 99.7 percent compared to existing ptrace-based approaches while maintaining detection accuracy," the authors explain. "Across the entire 300-project Make corpus, the incremental analysis technique lowers the mean analysis time per commit from 1267.49 seconds to just 23.56 seconds, making continuous dependency verification practical in real-world development environments." That's about 54x faster per commit. The researchers say their eBPF-based system call tracer largely avoids the performance overhead imposed by ptrace. eBPF allows sandboxed programs to run within kernel space, where they can perform tasks involving networking, observability, security, and other low-level operations. It's been used for efficiency gains in services like Meta's Strobelight. "By executing tracing code directly in kernel space, we can monitor build processes with minimal impact on build performance," the authors explain in their paper. "Unlike ptrace, which requires process suspension and context switches for each system call, our eBPF-based approach provides non-invasive tracing by operating entirely within the kernel." The authors note that their approach has some limitations. The eBPF-tracing system is Linux-specific, so build systems for other operating systems can't expect the same gains. And there are various build-system scenarios that still present challenges, such as some kinds of redundant dependencies, tracking access to memory-mapped regions, visibility into dependencies for dynamically loaded libraries, network dependencies, and distributed build systems. Nonetheless, the potential for mkcheck2 to cut the overhead of dependency error detection by up to 99.7 percent compared to ptrace-based approaches promises to save a lot of time. ®
研究人员表示,他们这套基于 eBPF 的系统调用跟踪器在很大程度上避免了 ptrace 带来的性能开销。eBPF 让沙箱程序能够在内核空间中运行,在那里执行涉及网络、可观测性、安全及其他底层操作的任务。它已被用于提升 Meta 的 Strobelight 等服务的效率。论文作者解释道:“通过直接在内核空间中执行跟踪代码,我们几乎不影响构建性能即可监控构建进程。与 ptrace 不同,后者每次系统调用都需要暂停进程并进行上下文切换;我们基于 eBPF 的方法则完全在内核中运行,以非侵入方式开展跟踪。”作者还指出,他们的方法存在一些限制。基于 eBPF 的跟踪系统仅适用于 Linux,因此其他操作系统的构建系统无法获得同样的性能提升。此外 various? Translate all: 许多构建系统场景仍面临挑战,例如某些类型的冗余依赖项、对内存映射区域访问的跟踪、动态加载库的依赖关系可见性、网络依赖项以及分布式构建系统等。尽管如此,与基于 ptrace 的方法相比,mkcheck2 有望将依赖项错误检测的开销降低最多 99.7%,这意味着可以节省大量时间。®
As if the pace of software creation hadn't accelerated enough thanks to generative AI coding agents, computer scientists in Japan have devised a way to turbocharge the process of build dependency verification. Speeds can increase by as much as 54x. Software build systems like Make, CMake, and the Zig build system automate the process of turning source code into executable programs. They ensure source files are compiled in the correct order and objects are linked correctly. They provide reproducible rebuilds and handle platform-specific compilation requirements, dependencies, tests, and documentation. But according to Yuta Saito, Kazunori Sakamoto, and Hironori Washizaki from Waseda University, dependency specification management remains a challenge, accounting for more than half of all build errors in large projects. Because existing tools like ptrace impose significant overhead, the researchers have devised a way to improve error detection by analyzing dependencies using extended Berkeley Packet Filter (eBPF)-based system call tracing. They've developed a tool called mkcheck2 that reduces the time and compute cost required to catch software build errors. And they explain their approach in a paper titled "Efficient Build Dependency Verification Using eBPF and Incremental Analysis," published in the Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering. "Our evaluation on a diverse set of open-source projects demonstrates that mkcheck2 reduces the overhead of dependency error detection by up to 99.7 percent compared to existing ptrace-based approaches while maintaining detection accuracy," the authors explain. "Across the entire 300-project Make corpus, the incremental analysis technique lowers the mean analysis time per commit from 1267.49 seconds to just 23.56 seconds, making continuous dependency verification practical in real-world development environments." That's about 54x faster per commit. The researchers say their eBPF-based system call tracer largely avoids the performance overhead imposed by ptrace. eBPF allows sandboxed programs to run within kernel space, where they can perform tasks involving networking, observability, security, and other low-level operations. It's been used for efficiency gains in services like Meta's Strobelight. "By executing tracing code directly in kernel space, we can monitor build processes with minimal impact on build performance," the authors explain in their paper. "Unlike ptrace, which requires process suspension and context switches for each system call, our eBPF-based approach provides non-invasive tracing by operating entirely within the kernel." The authors note that their approach has some limitations. The eBPF-tracing system is Linux-specific, so build systems for other operating systems can't expect the same gains. And there are various build-system scenarios that still present challenges, such as some kinds of redundant dependencies, tracking access to memory-mapped regions, visibility into dependencies for dynamically loaded libraries, network dependencies, and distributed build systems. Nonetheless, the potential for mkcheck2 to cut the overhead of dependency error detection by up to 99.7 percent compared to ptrace-based approaches promises to save a lot of time. ®