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

Highly-configurable systems written in C form our most critical computing infrastructure. The preprocessor is integral to C, because conditional compilation enables such systems to produce efficient object code. However, the preprocessor makes code harder to reason about for both humans and tools. Previous approaches to this challenge developed new program analyses for unpreprocessed source code or developed new languages and constructs to replace the preprocessor. But having special-purpose analyses means maintaining a new toolchain, while new languages face adoption challenges and do not help with existing software. We propose the best of worlds: eliminate the preprocessor but preserve its benefits. Our design replaces preprocessor usage with C itself, augmented with syntax-preserving, backwards-compatible dependent types. We discuss automated conditional compilation to replicate preprocessor performance. Our approach opens new directions for research into new compiler optimizations, dependent types for configurable software, and automated translation away from preprocessor use.

Fri 31 May
Times are displayed in time zone: Eastern Time (US & Canada) change

16:00 - 17:20: Program TransformationsPapers / New Ideas and Emerging Results / Technical Track at Van-Horne
Chair(s): Cindy Rubio-GonzálezUniversity of California, Davis
16:00 - 16:20
Talk
Global Optimization of Numerical Programs via Prioritized Stochastic Algebraic TransformationsArtifacts AvailableTechnical Track
Technical Track
Xie WangNanjing University, Huaijin WangNanjing University, Zhendong SuETH Zurich, Enyi TangNanjing University, Xin ChenNanjing University, Weijun ShenNanjing University, Zhenyu ChenNanjing University, Linzhang Wang, Xianpei ZhangNanjing University, Xuandong LiNanjing University
16:20 - 16:40
Talk
Type Migration in Ultra-Large-Scale CodebasesArtifacts Evaluated ReusableTechnical Track
Technical Track
Ameya KetkarOregon State University, USA, Ali MesbahUniversity of British Columbia, Davood MazinanianUniversity of British Columbia, Danny DigSchool of EECS at Oregon State University, Edward AftandilianGoogle
Pre-print
16:40 - 17:00
Talk
Dynamic Slicing for AndroidTechnical Track
Technical Track
Tanzirul AzimMicrosoft, USA, Arash AlaviUniversity of California, Riverside, Iulian NeamtiuNew Jersey Institute of Technology, Rajiv GuptaUC Riverside
17:00 - 17:10
Talk
Conditional Compilation is Dead, Long Live Conditional Compilation!NIER
New Ideas and Emerging Results
Paul GazzilloUniversity of Central Florida, Shiyi WeiThe University of Texas at Dallas
Pre-print
17:10 - 17:20
Talk
Discussion Period
Papers