In recent years, researchers have proposed a number of automated tools to identify and improve floating-point rounding error in mathematical expressions. However, users struggle to effectively apply these tools. In this paper, we describe an iterative design process, working with novices, experts, and tool developers, to investigate user needs during the expression rewriting process. We find that users want to compare expressions on multiple input ranges, integrate and guide various rewriting tools, and understand where errors come from. We organize this investigation's results into a three-stage workflow and implement that workflow in a new, extensible workbench dubbed Odyssey. Odyssey enables users to: (1) diagnose problems in an expression, (2) generate solutions automatically or by hand, and (3) tune their results. Odyssey tracks a working set of expressions and turns a state-of-the-art automated tool ``inside out,'' giving the user access to internal heuristics, algorithms, and functionality. In a user study, Odyssey enabled five expert numerical analysts to solve challenging rewriting problems where state-of-the-art automated tools fail. In particular, the experts unanimously praised Odyssey's novel support for interactive range modification and local error visualization.
翻译:近年来,研究人员提出了多种自动化工具来识别并改进数学表达式中的浮点舍入误差。然而,用户难以有效应用这些工具。本文通过迭代式设计流程,与初学者、专家及工具开发者协作,探究用户在表达式重写过程中的需求。研究发现,用户希望能在多个输入范围上比较表达式、整合并引导多种重写工具、以及理解误差来源。我们将研究结果组织为三阶段工作流,并在名为Odyssey的新型可扩展工作台中实现了该流程。Odyssey支持用户:(1) 诊断表达式中的问题,(2) 自动或手动生成解决方案,(3) 调整优化结果。该工作台跟踪表达式工作集,并将最先进的自动化工具“由内而外”地开放给用户,使其能够访问内部启发式算法、算法逻辑及功能。在用户研究中,Odyssey使五位数值分析专家能够解决当前最先进自动化工具无法解决的复杂重写问题。特别地,专家们一致称赞Odyssey在交互式范围调整和局部误差可视化方面的创新支持。