CompCertELF: Verified Separate Compilation of C Programs into ELF Object FilesOOPSLA
Mon 16 Nov 2020 22:20 - 23:00 at SPLASH-VII - Posters Session 2 Mirror
We present CompCertELF, the first extension to CompCert that supports verified compilation from C programs all the way to a standard binary file format, i.e., the ELF object format. Previous work on Stack-Aware CompCert provides a verified compilation chain from C programs to assembly programs with a realistic machine memory model. We build CompCertELF by modifying and extending this compilation chain with a verified assembler which further transforms assembly programs into ELF object files.
CompCert supports large-scale verification via verified separate compilation: C modules can be written and compiled separately, and then linked together to get a target program that refines the semantics of the program linked from the source modules. However, verified separate compilation in CompCert only works for compilation to assembly programs, not to object files. For the latter, the main difficulty is to bridge the two different views of linking: one for CompCert’s programs that allows arbitrary shuffling of global definitions by linking and the other for ELF object files that treats blocks of encoded definitions as unanalyzable and indivisible units.
We propose a lightweight approach that solves the above problem without any modification to CompCert’s framework for verified separate compilation: by introducing a notion of syntactical equivalence between programs and proving the commutativity between syntactical equivalence and the two different kinds of linking, we are able to transit from the more abstract linking operation in CompCert to the more concrete one for ELF object files. By applying this approach to CompCertELF, we obtain the first compiler that supports verified separate compilation of C programs into ELF object files.
Mon 16 NovDisplayed time zone: Central Time (US & Canada) change
10:20 - 11:00 | |||
10:20 40mPoster | 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 40mPoster | Macros For Domain-Specific LanguagesOOPSLA Posters Michael Ballantyne Northeastern University, Alexis King Northwestern University, Matthias Felleisen Northeastern University | ||
10:20 40mPoster | 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 40mPoster | 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 40mPoster | 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 40mPoster | 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 40mPoster | 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 40mPoster | 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 40mPoster | Incremental Predicate Analysis for Regression VerificationOOPSLA Posters | ||
10:20 40mPoster | StreamQL: A Query Language for Processing Streaming Time SeriesOOPSLA Posters | ||
10:20 40mPoster | 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 40mPoster | 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 40mPoster | 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 40mPoster | 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 40mPoster | 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 40mPoster | 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 40mPoster | 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 | |||
22:20 40mPoster | 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 40mPoster | 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 40mPoster | StreamQL: A Query Language for Processing Streaming Time SeriesOOPSLA Posters | ||
22:20 40mPoster | Incremental Predicate Analysis for Regression VerificationOOPSLA Posters | ||
22:20 40mPoster | 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 40mPoster | 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 40mPoster | 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 40mPoster | 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 40mPoster | 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 40mPoster | 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 40mPoster | Macros For Domain-Specific LanguagesOOPSLA Posters Michael Ballantyne Northeastern University, Alexis King Northwestern University, Matthias Felleisen Northeastern University | ||
22:20 40mPoster | 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 40mPoster | 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 40mPoster | 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 40mPoster | 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 40mPoster | 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 40mPoster | 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 |