paperbot · PL 论文追踪

全部论文 待读 收藏

P2 SCMiner: Localizing System-Level Concurrency Faults from Large System Call Traces

SCMiner:从大规模系统调用轨迹中定位系统级并发故障
ASE 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)2019匹配度 2/10 · 该论文属于软件工程中的动态故障定位,使用数据挖掘与统计异常检测分析系统调用日志来定位并发故障,不涉及静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析,与用户当前核心研究方向交叉很少。仅在“程序分析”和工业落地/问题驱动这些宽泛兴趣上有轻微关联。引用 14 inbox
Tarannum Shaila Zaman, Xue Han, Tingting Yu
crossref: 2026-09-12

AI 速览

一句话:SCMiner 利用数据挖掘与统计异常检测,从生产环境系统调用日志中在线定位系统级并发故障及其对应函数。

生产环境中并发故障的定位十分困难:失败时的用户输入、文件内容与线程调度等现场数据往往缺失,难以复现;现有技术通常依赖多次失败执行;可用运行时数据有限,使缺陷位置搜索困难;而系统级并发故障还常涉及多进程或软件信号等事件处理器,超出面向进程内(线程级)故障的现有诊断工具的能力范围。为此,作者提出 SCMiner,一种实用的在线缺陷诊断工具,仅依赖默认系统审计工具收集的日志来理解系统级并发故障的成因。SCMiner 无需离线复现缺陷,不要求在生产系统上做代码插桩,也不假设存在多次失败执行。其流程为:先收集系统调用轨迹,再通过数据挖掘与统计异常检测技术识别诱发失败的系统调用序列,最后把每条异常序列映射到具体的应用函数。作者在 19 个真实基准上开展实证研究,结果表明 SCMiner 在定位系统级并发故障上既有效又高效。

问题
生产环境中的系统级并发故障难以定位:现场数据缺失、无法依赖多次失败执行,且故障常跨多个进程或事件处理器(如软件信号),现有面向进程内线程级故障的诊断工具无法处理。
方法
SCMiner 基于默认系统审计工具收集的大型系统调用轨迹做在线诊断:先用数据挖掘与统计异常检测识别诱发失败的系统调用序列,再将异常序列映射到具体应用函数;无需插桩、无需离线复现、也不依赖多次失败执行。
评估
在 19 个真实世界基准上开展实证研究,验证 SCMiner 定位系统级并发故障的有效性与效率。
原文摘要(Abstract)

Localizing concurrency faults that occur in production is hard because, (1) detailed field data, such as user input, file content and interleaving schedule, may not be available to developers to reproduce the failure; (2) it is often impractical to assume the availability of multiple failing executions to localize the faults using existing techniques; (3) it is challenging to search for buggy locations in an application given limited runtime data; and, (4) concurrency failures at the system level often involve multiple processes or event handlers (e.g., software signals), which can not be handled by existing tools for diagnosing intra-process(thread-level) failures. To address these problems, we present SCMiner, a practical online bug diagnosis tool to help developers understand how a system-level concurrency fault happens based on the logs collected by the default system audit tools. SCMiner achieves online bug diagnosis to obviate the need for offline bug reproduction. SCMiner does not require code instrumentation on the production system or rely on the assumption of the availability of multiple failing executions. Specifically, after the system call traces are collected, SCMiner uses data mining and statistical anomaly detection techniques to identify the failure-inducing system call sequences. It then maps each abnormal sequence to specific application functions. We have conducted an empirical study on 19 real-world benchmarks. The results show that SCMiner is both effective and efficient at localizing system-level concurrency faults.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5234,
  title = {SCMiner: Localizing System-Level Concurrency Faults from Large System Call Traces},
  author = {Tarannum Shaila Zaman and Xue Han and Tingting Yu},
  booktitle = {ASE},
  year = {2019},
  doi = {10.1109/ase.2019.00055}
}