SPLASH 2020
Sun 15 - Sat 21 November 2020 Online Conference
Mon 16 Nov 2020 10:20 - 11:00 at SPLASH-VII - Posters Session 2
Mon 16 Nov 2020 22:20 - 23:00 at SPLASH-VII - Posters Session 2 Mirror

Dynamic linking is extremely common in modern software systems, thanks to the flexibility and space savings it offers. However, this flexibility comes at a cost: every library call has an extra layer of indirection, and it’s impossible to perform interprocedural optimizations that involve calls to a dynamic library. The basic problem is that the run-time behavior of the dynamic linker can’t be predicted at compile time, so the compiler can make no assumptions about how external calls will behave.

This paper introduces guided linking, a technique for optimizing dynamically linked software when some information about the dynamic linker’s behavior is known in advance. The developer provides an arbitrary set of programs, libraries, and plugins to our tool, along with constraints that limit the possible dynamic linking behavior of the software. Given a software set and a list of constraints, our tool takes advantage of the constraints to optimize the software for speed and size. For example, the “no dynamic redefinitions” constraint can be applied to a function when the developer knows the function will never be unexpectedly overridden with a different definition at run time; this constraint allows dynamic references between libraries in the set to be resolved to static references, which can then be optimized with standard link-time optimizations. As an additional optimization, we deduplicate identical functions that appear anywhere in the software set.

By applying guided linking to a dynamically linked distribution of Clang and LLVM, and using the constraint that no other software will use the LLVM libraries, we can increase speed by 6% and reduce file size by 11%. If we relax the constraint to allow other software to use the LLVM libraries, we can still increase speed by 5.5% and reduce file size by 3%. If we apply guided linking to the Python interpreter and a set of loadable Python modules, applying the constraint that no other programs or modules will be used, we can increase speed by an average of 6.6%. If we use guided linking to combine 11 different versions of the Boost library, applying minimal constraints, we can reduce the total library size by 57%.

Mon 16 Nov

Displayed time zone: Central Time (US & Canada) change

10:20 - 11:00
Posters Session 2Posters at SPLASH-VII +12h
10:20
40m
Poster
Resolution as Intersection Subtyping via Modus PonensOOPSLA
Posters
Koar Marntirosian KU Leuven, Tom Schrijvers KU Leuven, Bruno C. d. S. Oliveira University of Hong Kong, Georgios Karachalias Tweag
10:20
40m
Poster
Macros For Domain-Specific LanguagesOOPSLA
Posters
Michael Ballantyne Northeastern University, Alexis King Northwestern University, Matthias Felleisen Northeastern University
10:20
40m
Poster
Precise Inference of Expressive Units of Measurement TypesOOPSLA
Posters
Tongtong Xiang University of Waterloo, Jeff Y. Luo University of Waterloo, Werner Dietl University of Waterloo
10:20
40m
Poster
Guiding Dynamic Programing via Structural Probability for Accelerating Programming by ExampleOOPSLA
Posters
Ruyi Ji Peking University, Yican Sun Peking University, Yingfei Xiong Peking University, Zhenjiang Hu Peking University
10:20
40m
Poster
A Sparse Iteration Space Transformation Framework for Sparse Tensor AlgebraOOPSLA
Posters
Ryan Senanayake Reservoir Labs, Changwan Hong Massachusetts Institute of Technology, Ziheng Wang Massachusetts Institute of Technology, Amalee Wilson Stanford University, Stephen Chou Massachusetts Institute of Technology, Shoaib Kamil Adobe Research, Saman Amarasinghe Massachusetts Institute of Technology, Fredrik Kjolstad Stanford University
DOI Pre-print Media Attached File Attached
10:20
40m
Poster
Learning Semantic Program Embeddings with Graph Interval Neural NetworkOOPSLA
Posters
Yu Wang Nanjing University, China, Ke Wang Visa Research, Fengjuan Gao Nanjing University, Linzhang Wang Nanjing University
10:20
40m
Poster
Statically Verified Refinements for Multiparty ProtocolsOOPSLA
Posters
Fangyi Zhou Imperial College London, Francisco Ferreira Imperial College London, Raymond Hu University of Hertfordshire, Rumyana Neykova Brunel University London, Nobuko Yoshida Imperial College London
10:20
40m
Poster
Towards a Formal Foundation of Intermittent ComputingOOPSLA
Posters
Milijana Surbatovich Carnegie Mellon University, Brandon Lucia Carnegie Mellon University, Limin Jia Carnegie Mellon University
10:20
40m
Poster
Incremental Predicate Analysis for Regression VerificationOOPSLA
Posters
Qianshan Yu Tsinghua University, Fei He Tsinghua University, Bow-Yaw Wang Academia Sinica
10:20
40m
Poster
StreamQL: A Query Language for Processing Streaming Time SeriesOOPSLA
Posters
Lingkun Kong Rice University, Konstantinos Mamouras Rice University
10:20
40m
Poster
SATUNE: Synthesizing Efficient SAT EncodersOOPSLA
Posters
Hamed Gorjiara University of California at Irvine, Guoqing Harry Xu University of California at Los Angeles, Brian Demsky University of California at Irvine
10:20
40m
Poster
Scaling Exact Inference for Discrete Probabilistic ProgramsOOPSLA
Posters
Steven Holtzen University of California at Los Angeles, Guy Van den Broeck University of California at Los Angeles, Todd Millstein University of California, Los Angeles
10:20
40m
Poster
Certified and Efficient Instruction SchedulingOOPSLA
Posters
Sylvain Boulmé Grenoble Alps University / CNRS / Grenoble INP / VERIMAG, Cyril Six Kalray / Grenoble Alps University / CNRS / Grenoble INP / VERIMAG, David Monniaux Grenoble Alps University / CNRS / Grenoble INP / VERIMAG
10:20
40m
Poster
Revisiting Iso-Recursive SubtypingOOPSLA
Posters
Yaoda Zhou University of Hong Kong, Bruno C. d. S. Oliveira University of Hong Kong, Jinxu Zhao University of Hong Kong
10:20
40m
Poster
Guided Linking: Dynamic Linking Without the CostsOOPSLA
Posters
Sean Bartell University of Illinois at Urbana-Champaign, Will Dietz University of Illinois at Urbana-Champaign, Vikram S. Adve University of Illinois at Urbana-Champaign
10:20
40m
Poster
Unifying Execution of Imperative Generators and Declarative SpecificationsOOPSLA
Posters
Pengyu Nie University of Texas at Austin, Marinela Parovic University of Texas at Austin, Zhiqiang Zang University of Texas at Austin, Sarfraz Khurshid University of Texas at Austin, Aleksandar Milicevic Microsoft, Milos Gligoric University of Texas at Austin
10:20
40m
Poster
CompCertELF: Verified Separate Compilation of C Programs into ELF Object FilesOOPSLA
Posters
Yuting Wang Shanghai Jiao Tong University, Xiangzhe Xu Nanjing University, Pierre Wilke CentraleSupélec, Zhong Shao Yale University
22:20 - 23:00
Posters Session 2 MirrorPosters at SPLASH-VII
22:20
40m
Poster
Learning Semantic Program Embeddings with Graph Interval Neural NetworkOOPSLA
Posters
Yu Wang Nanjing University, China, Ke Wang Visa Research, Fengjuan Gao Nanjing University, Linzhang Wang Nanjing University
22:20
40m
Poster
Towards a Formal Foundation of Intermittent ComputingOOPSLA
Posters
Milijana Surbatovich Carnegie Mellon University, Brandon Lucia Carnegie Mellon University, Limin Jia Carnegie Mellon University
22:20
40m
Poster
StreamQL: A Query Language for Processing Streaming Time SeriesOOPSLA
Posters
Lingkun Kong Rice University, Konstantinos Mamouras Rice University
22:20
40m
Poster
Incremental Predicate Analysis for Regression VerificationOOPSLA
Posters
Qianshan Yu Tsinghua University, Fei He Tsinghua University, Bow-Yaw Wang Academia Sinica
22:20
40m
Poster
SATUNE: Synthesizing Efficient SAT EncodersOOPSLA
Posters
Hamed Gorjiara University of California at Irvine, Guoqing Harry Xu University of California at Los Angeles, Brian Demsky University of California at Irvine
22:20
40m
Poster
A Sparse Iteration Space Transformation Framework for Sparse Tensor AlgebraOOPSLA
Posters
Ryan Senanayake Reservoir Labs, Changwan Hong Massachusetts Institute of Technology, Ziheng Wang Massachusetts Institute of Technology, Amalee Wilson Stanford University, Stephen Chou Massachusetts Institute of Technology, Shoaib Kamil Adobe Research, Saman Amarasinghe Massachusetts Institute of Technology, Fredrik Kjolstad Stanford University
DOI Pre-print Media Attached File Attached
22:20
40m
Poster
Unifying Execution of Imperative Generators and Declarative SpecificationsOOPSLA
Posters
Pengyu Nie University of Texas at Austin, Marinela Parovic University of Texas at Austin, Zhiqiang Zang University of Texas at Austin, Sarfraz Khurshid University of Texas at Austin, Aleksandar Milicevic Microsoft, Milos Gligoric University of Texas at Austin
22:20
40m
Poster
Statically Verified Refinements for Multiparty ProtocolsOOPSLA
Posters
Fangyi Zhou Imperial College London, Francisco Ferreira Imperial College London, Raymond Hu University of Hertfordshire, Rumyana Neykova Brunel University London, Nobuko Yoshida Imperial College London
22:20
40m
Poster
Guiding Dynamic Programing via Structural Probability for Accelerating Programming by ExampleOOPSLA
Posters
Ruyi Ji Peking University, Yican Sun Peking University, Yingfei Xiong Peking University, Zhenjiang Hu Peking University
22:20
40m
Poster
Revisiting Iso-Recursive SubtypingOOPSLA
Posters
Yaoda Zhou University of Hong Kong, Bruno C. d. S. Oliveira University of Hong Kong, Jinxu Zhao University of Hong Kong
22:20
40m
Poster
Macros For Domain-Specific LanguagesOOPSLA
Posters
Michael Ballantyne Northeastern University, Alexis King Northwestern University, Matthias Felleisen Northeastern University
22:20
40m
Poster
CompCertELF: Verified Separate Compilation of C Programs into ELF Object FilesOOPSLA
Posters
Yuting Wang Shanghai Jiao Tong University, Xiangzhe Xu Nanjing University, Pierre Wilke CentraleSupélec, Zhong Shao Yale University
22:20
40m
Poster
Certified and Efficient Instruction SchedulingOOPSLA
Posters
Sylvain Boulmé Grenoble Alps University / CNRS / Grenoble INP / VERIMAG, Cyril Six Kalray / Grenoble Alps University / CNRS / Grenoble INP / VERIMAG, David Monniaux Grenoble Alps University / CNRS / Grenoble INP / VERIMAG
22:20
40m
Poster
Resolution as Intersection Subtyping via Modus PonensOOPSLA
Posters
Koar Marntirosian KU Leuven, Tom Schrijvers KU Leuven, Bruno C. d. S. Oliveira University of Hong Kong, Georgios Karachalias Tweag
22:20
40m
Poster
Precise Inference of Expressive Units of Measurement TypesOOPSLA
Posters
Tongtong Xiang University of Waterloo, Jeff Y. Luo University of Waterloo, Werner Dietl University of Waterloo
22:20
40m
Poster
Guided Linking: Dynamic Linking Without the CostsOOPSLA
Posters
Sean Bartell University of Illinois at Urbana-Champaign, Will Dietz University of Illinois at Urbana-Champaign, Vikram S. Adve University of Illinois at Urbana-Champaign
22:20
40m
Poster
Scaling Exact Inference for Discrete Probabilistic ProgramsOOPSLA
Posters
Steven Holtzen University of California at Los Angeles, Guy Van den Broeck University of California at Los Angeles, Todd Millstein University of California, Los Angeles