Odyssey: An Interactive Workbench for Expert-Driven Floating-Point Expression Rewriting

要旨

In recent years, researchers have proposed a number of automated tools to identify and improve floating-point rounding error in math- ematical expressions. However, users struggle to effectively apply these tools. In this paper, we work with novices, experts, and tool developers to investigate user needs during the expression rewriting process. We find that users follow an iterative design process. They 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.

著者
Edward Misback
University of Washington, Seattle, Washington, United States
Caleb C.. Chan
University of Washington, Seattle, Washington, United States
Brett Saiki
University of Washington, Seattle, Washington, United States
Eunice Jun
University of Washington, Seattle, Washington, United States
Zachary Tatlock
University of Washington, Seattle, Washington, United States
Pavel Panchekha
University of Utah, Salt Lake City, Utah, United States
論文URL

https://doi.org/10.1145/3586183.3606819

動画

会議: UIST 2023

ACM Symposium on User Interface Software and Technology

セッション: Code Craftsmanship: Programming Support Tools

Gold Room
7 件の発表
2023-11-01 01:00:00
2023-11-01 02:20:00