paperbot · PL 论文追踪

全部论文 待读 收藏

P2 WhyFlow: Interrogative Debugger for Sensemaking Taint Analysis

WhyFlow:面向污点分析意义建构的疑问式调试器
ICSE Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering2026匹配度 3/10 · 论文聚焦污点分析结果的理解与调试界面,属于静态分析的人机交互与可用性方向,与用户核心关注的 LLM/Agent 与静态分析结合、浮点程序分析、贝叶斯程序分析等方向不直接相关;它未涉及 LLM/Agent,也非面向新任务的重要 benchmark 或工业落地分析。引用 0 inbox
Burak Yetistiren, Hong Jin Kang, Miryung Kim
crossref: 2026-09-12

AI 速览

一句话:提出首个面向终端用户的问答式污点分析调试界面,支持 why、why-not、what-if 提问与推测式分析,显著降低理解成本。

污点分析用于追踪危险数据在应用及其依赖库中的流动,但终端用户在分析时常常难以理解为何出现意外流、为何缺失预期流,也难以评估配置源/汇以及第三方库模型对全局连通性的影响。现有工具多不提供此类终端用户调试能力,其树形或列表视图也难以呈现多个源与汇之间的全局连通关系。受问答式探究能显著改善结果意义建构的启发,本文提出 WhyFlow——首个面向污点分析的问答案式调试界面。用户可提出 why、why-not 和 what-if 问题,分别调查可疑流的存在、预期流的缺失以及第三方库模型的全局影响;WhyFlow 还执行推测式 what-if 分析,帮助用户理解不同连通性假设如何影响整体结果。对 12 名参与者的用户研究表明,使用 WhyFlow 的参与者平均准确率比 CodeQL 高 21%,NASA-TLX 心理负荷降低 45%,并对识别相关数据流更有信心,显示出大幅减少意义建构努力的潜力。

问题
终端用户在进行污点分析时缺乏有效的调试手段,难以理解意外数据流出现或预期数据流缺失的原因,也难以推理源/汇配置及第三方库模型对全局连通性的影响。
方法
WhyFlow 提供首个面向污点分析的问答式调试界面,支持 why、why-not 和 what-if 提问,并通过推测式 what-if 分析探索不同连通性假设对整体分析结果的影响。
评估
通过 12 名参与者开展用户研究,并与 CodeQL 对比;结果显示使用 WhyFlow 的参与者平均准确率提高 21%,NASA-TLX 心理负荷降低 45%,且对识别相关数据流更有信心。
原文摘要(Abstract)

Taint analysis is a security analysis technique used to track the flow of potentially dangerous data through an application and its dependent libraries. Investigating why certain unexpected flows appear and why expected flows are missing is an important sensemaking process during end-user taint analysis. Existing taint analysis tools often do not provide this end-user debugging capability, where developers can ask why, why-not, and what-if questions about dataflows and reason about the impact of configuring sources and sinks, and models of third-party libraries that abstract permissible and impermissible data flows. Furthermore, the tree-view or list-view used in existing taint analyzer visualizations makes it difficult to reason about the global impact on connectivity between multiple sources and sinks. Inspired by the insight that sensemaking tool-generated results can be significantly improved by a QA inquiry process, we propose WhyFlow, the first end-user question-answer style debugging interface for taint analysis. It enables a user to ask why, why-not, and what-if questions to investigate the existence of suspicious flows, the non-existence of expected flows, and the global impact of third-party library models. WhyFlow performs speculative what-if analysis, to help a user in debugging how different connectivity assumptions affect overall results. A user study with 12 participants shows that participants using WhyFlow achieved 21% higher accuracy on average, compared to CodeQL. They also reported a 45% reduction in mental demand (NASA-TLX) and rated higher confidence in identifying relevant flows using WhyFlow. This shows WhyFlow’s potential to significantly reduce sensemaking effort.

链接与引用

DOI 原文 · arXiv ·

BibTeX
@inproceedings{paperbot11947,
  title = {WhyFlow: Interrogative Debugger for Sensemaking Taint Analysis},
  author = {Burak Yetistiren and Hong Jin Kang and Miryung Kim},
  booktitle = {ICSE},
  year = {2026},
  doi = {10.1145/3744916.3773145}
}