Global Optimization of Numerical Programs via Prioritized Stochastic Algebraic TransformationsTechnical Track
Numerical code is often applied in safety-critical, but resource-limited areas. Hence, it is crucial for it to be correct and efficient, both of which are difficult to ensure. On one hand, accumulated rounding errors in numerical programs can cause system failures. On the other hand, arbitrary/infinite-precision arithmetic, although accurate, is infeasible in practice and especially in resource-limited scenarios because it performs thousands of times slower than floating-point arithmetic. Thus, it has been a significant challenge to obtain high-precision, easy-to-maintain, and efficient numerical code. This paper introduces a novel global optimization framework to tackle this challenge. Using our framework, a developer simply writes the infinite-precision numerical program directly following the problem’s mathematical specification. The resulting code is correct and easy-to-maintain, but inefficient. Our framework then optimizes the program in a global fashion (i.e., considering the whole program, rather than individual expressions as in prior work), the key technical difficulty this work solves. To this end, it analyzes the program’s numerical flows across different statements through a symbolic trace extraction algorithm, and generates optimized traces via stochastic algebraic transformations guided by effective rule selection. We first evaluate our technique on numerical benchmarks from the literature; results show that our global optimization achieves significantly higher worst-case accuracy than the state-of-the-art numerical optimization tool. Second, we show that our framework is also effective on benchmarks having complicated program structures, which are challenging for numerical optimization. Finally, we apply our framework on real-world code to successfully detect numerical bugs that have been confirmed by developers.
Fri 31 MayDisplayed time zone: Eastern Time (US & Canada) change
16:00 - 17:20 | Program TransformationsNew Ideas and Emerging Results / Technical Track / Papers at Van-Horne Chair(s): Cindy Rubio-González University of California, Davis | ||
16:00 20mTalk | Global Optimization of Numerical Programs via Prioritized Stochastic Algebraic TransformationsTechnical Track Technical Track Xie Wang Nanjing University, Huaijin Wang Nanjing University, Zhendong Su ETH Zurich, Enyi Tang Nanjing University, Xin Chen Nanjing University, Weijun Shen Nanjing University, Zhenyu Chen Nanjing University, Linzhang Wang , Xianpei Zhang Nanjing University, Xuandong Li Nanjing University | ||
16:20 20mTalk | Type Migration in Ultra-Large-Scale CodebasesTechnical Track Technical Track Ameya Ketkar Oregon State University, USA, Ali Mesbah University of British Columbia, Davood Mazinanian University of British Columbia, Danny Dig School of EECS at Oregon State University, Eddie Aftandilian Google Pre-print | ||
16:40 20mTalk | Dynamic Slicing for AndroidTechnical Track Technical Track Tanzirul Azim Microsoft, USA, Arash Alavi University of California, Riverside, Iulian Neamtiu New Jersey Institute of Technology, Rajiv Gupta UC Riverside | ||
17:00 10mTalk | Conditional Compilation is Dead, Long Live Conditional Compilation!NIER New Ideas and Emerging Results Pre-print | ||
17:10 10mTalk | Discussion Period Papers |