Blogs (1) >>
ICSE 2019
Sat 25 - Fri 31 May 2019 Montreal, QC, Canada
Fri 31 May 2019 16:00 - 16:20 at Van-Horne - Program Transformations Chair(s): Cindy Rubio-González

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 May

Displayed 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
20m
Talk
Global Optimization of Numerical Programs via Prioritized Stochastic Algebraic TransformationsArtifacts AvailableTechnical 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
20m
Talk
Type Migration in Ultra-Large-Scale CodebasesArtifacts Evaluated ReusableTechnical 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, Edward Aftandilian Google
Pre-print
16:40
20m
Talk
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
10m
Talk
Conditional Compilation is Dead, Long Live Conditional Compilation!NIER
New Ideas and Emerging Results
Paul Gazzillo University of Central Florida, Shiyi Wei The University of Texas at Dallas
Pre-print
17:10
10m
Talk
Discussion Period
Papers