Lecture Notes in Computer Science
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
Lecture Notes in Computer Science 13008 Founding Editors Gerhard Goos Karlsruhe Institute of Technology, Karlsruhe, Germany Juris Hartmanis Cornell University, Ithaca, NY, USA Editorial Board Members Elisa Bertino Purdue University, West Lafayette, IN, USA Wen Gao Peking University, Beijing, China Bernhard Steffen TU Dortmund University, Dortmund, Germany Gerhard Woeginger RWTH Aachen, Aachen, Germany Moti Yung Columbia University, New York, NY, USA
More information about this subseries at http://www.springer.com/series/7408
Hakjoo Oh (Ed.) Programming Languages and Systems 19th Asian Symposium, APLAS 2021 Chicago, IL, USA, October 17–18, 2021 Proceedings
Editor Hakjoo Oh Korea University Seoul, Korea (Republic of) ISSN 0302-9743 ISSN 1611-3349 (electronic) Lecture Notes in Computer Science ISBN 978-3-030-89050-6 ISBN 978-3-030-89051-3 (eBook) https://doi.org/10.1007/978-3-030-89051-3 LNCS Sublibrary: SL2 – Programming and Software Engineering © Springer Nature Switzerland AG 2021 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. This Springer imprint is published by the registered company Springer Nature Switzerland AG The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Preface This volume contains the papers presented at the 19th Asian Symposium on Programming Languages and Systems (APLAS 2021). APLAS 2021 was co-located with SPLASH 2021 and held during October 17–18, 2021, as a hybrid physical/virtual meeting. The physical meeting was held in Chicago, Illinois, USA. APLAS aims to stimulate programming language research by providing a forum for the presentation of the latest results and the exchange of ideas in programming languages and systems. APLAS is based in Asia but is an international forum that serves the worldwide programming languages community. Following the tradition from previous years, APLAS 2021 solicited contributions in the form of regular research papers and tool papers. Among others, solicited topics included the following: semantics, logics, and foundational theory; design of languages, type systems, and foundational calculi; domain-specific languages; compilers, interpreters, and abstract machines; program derivation, synthesis, and transformation; program analysis, verification, and model-checking; logic, constraint, probabilistic, and quantum programming; software security; concurrency and parallelism; tools and environments for programming and implementation; and applications of SAT/SMT to programming and implementation. This year we employed a lightweight double-blind reviewing process with an author response period. Each paper received at least three reviews before the author response period, which was followed by a 10-day period of Program Committee (PC) discussion. We received 43 submissions, out of which 17 papers (14 regular papers and 3 tool papers) were accepted after the thorough review process by the PC. We were also honored to include two invited talks by distinguished researchers: – Zhendong Su (ETH Zurich) on “Solidifying and Advancing the Software Founda- tions” – Justin Hsu (Cornell University) on “A Separation Logic for Probabilistic Indepen- dence” I would like to thank everyone who helped make APLAS 2021 successful. First of all, I would like to express my sincere thanks to the Program Committee who spent a lot of time and effort on the review process. I am also grateful for the external reviewers for their thorough and constructive reviews. I thank the General Chair, Wei-Ngan Chin (National University of Singapore), and Atsushi Igarashi (Kyoto University) who handled all the details of the conference from the very beginning. Finally, I would like to sincerely thank the PC chair of APLAS 2020, Bruno C. d. S. Oliveira (The University of Hong Kong), for his very helpful advice and resources. October 2021 Hakjoo Oh
Organization General Chair Wei-Ngan Chin National University of Singapore, Singapore Program Chair Hakjoo Oh Korea University, South Korea Program Committee Andreas Abel Gothenburg University, Sweden Kyungmin Bae POSTECH, South Korea Edwin Brady University of St Andrews, UK Yu-Fang Chen Academia Sinica, Taiwan Andreea Costea National University of Singapore, Singapore Rayna Dimitrova CISPA, Germany Yu Feng University of California, Santa Barbara, USA Giulio Guerrieri University of Bath, UK Kihong Heo KAIST, South Korea Uday Khedker IIT Bombay, India Yue Li Nanjing University, China Sam Lindley The University of Edinburgh, UK Sergio Mover École Polytechnique, France Alex Potanin Victoria University of Wellington, New Zealand Xiaokang Qiu Purdue University, USA Jiasi Shen MIT, USA Xujie Si McGill University, Canada Gagandeep Singh UIUC, USA Youngju Song Seoul National University, South Korea Kohei Suenaga Kyoto University, Japan Yulei Sui University of Technology Sydney, Australia Tachio Terauchi Waseda University, Japan Xinyu Wang University of Michigan, USA Qirun Zhang Georgia Institute of Technology, USA Xin Zhang Peking University, China
viii Organization Additional Reviewers Simon Fowler Daniel Hillerström Dylan McDermott Orestis Melkonian Garrett Morris Wei-Lun Tsai Di-De Yen
Abstracts of Invited Talks
Solidifying and Advancing the Software Foundations Zhendong Su ETH Zurich zhendong.su@inf.ethz.ch Abstract. Software applications and technologies are built on top of foun- dational systems such as compilers, databases, and theorem provers. Such foundations form the trusted computing base, and fundamentally impact software quality and security. Thus, it is a critical challenge to solid- ify and advance them. This talk highlights general, effective techniques, and extensive, impactful efforts on finding hundreds of critical issues in widely-used compilers, database management systems, and SMT solvers. It focuses on the high-level principles and core techniques, their significant practical successes, and future opportunities and challenges.
A Separation Logic for Probabilistic Independence Justin Hsu Cornell University email@justinh.su Abstract. Probabilistic independence is a useful concept for describing the result of random sampling—a basic operation in all probabilistic languages—and for reasoning about groups of random variables. Nev- ertheless, existing verification methods handle independence poorly, if at all. We propose a probabilistic separation logic PSL, where separation models probabilistic independence, based on a new, probabilistic model of the logic of bunched implications (BI). The program logic PSL is capa- ble of verifying information-theoretic security of cryptographic construc- tions for several well-known tasks, including private information retrieval, oblivious transfer, secure multi-party addition, and simple oblivious RAM, while reasoning purely in terms of independence and uniformity. If time permits, we will also discuss ongoing work for reasoning about conditional independence.
Contents Analysis and Synthesis Scalable and Modular Robustness Analysis of Deep Neural Networks . . . . . . . . . 3 Yuyi Zhong, Quang-Trung Ta, Tianzuo Luo, Fanlong Zhang, and Siau-Cheng Khoo Function Pointer Eliminator for C Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Daisuke Kimura, Mahmudul Faisal Al Ameen, Makoto Tatsuta, and Koji Nakazawa PyCT: A Python Concolic Tester . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Yu-Fang Chen, Wei-Lun Tsai, Wei-Cheng Wu, Di-De Yen, and Fang Yu Program Synthesis for Musicians: A Usability Testbed for Temporal Logic Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Wonhyuk Choi, Michel Vazirani, and Mark Santolucito Server-Side Computation of Package Dependencies in Package-Management Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Nobuhiro Kasai and Isao Sasano Compilation and Transformation Fully Abstract and Robust Compilation: And How to Reconcile the Two, Abstractly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Carmine Abate, Matteo Busi, and Stelios Tsampas A Dictionary-Passing Translation of Featherweight Go . . . . . . . . . . . . . . . . . . . . . . 102 Martin Sulzmann and Stefan Wehr Hybrid Quantum-Classical Circuit Simplification with the ZX-Calculus . . . . . . . 121 Agustín Borgna, Simon Perdrix, and Benoît Valiron A Compilation Method for Dynamic Typing in ML . . . . . . . . . . . . . . . . . . . . . . . . . 140 Atsushi Ohori and Katsuhiro Ueno
xiv Contents Language Design The Choice Construct in the Soufflé Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Xiaowen Hu, Joshua Karp, David Zhao, Abdul Zreika, Xi Wu, and Bernhard Scholz Latent Effects for Reusable Language Components . . . . . . . . . . . . . . . . . . . . . . . . . 182 Birthe van den Berg, Tom Schrijvers, Casper Bach Poulsen, and Nicolas Wu Adaptable Traces for Program Explanations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Divya Bajaj, Martin Erwig, Danila Fedorin, and Kai Gay A Typed Programmatic Interface to Contracts on the Blockchain . . . . . . . . . . . . . 222 Thi Thu Ha Doan and Peter Thiemann Verification Simplifying Alternating Automata for Emptiness Testing . . . . . . . . . . . . . . . . . . . . 243 Pavol Vargovčík and Lukáš Holík Termination Analysis for the π -Calculus by Reduction to Sequential Program Termination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Tsubasa Shoshi, Takuma Ishikawa, Naoki Kobayashi, Ken Sakayori, Ryosuke Sato, and Takeshi Tsukada Proving LTL Properties of Bitvector Programs and Decompiled Binaries . . . . . . 285 Yuandong Cyrus Liu, Chengbin Pang, Daniel Dietsch, Eric Koskinen, Ton-Chanh Le, Georgios Portokalidis, and Jun Xu Solving Not-Substring Constraint with Flat Abstraction . . . . . . . . . . . . . . . . . . . . . 305 Parosh Aziz Abdulla, Mohamed Faouzi Atig, Yu-Fang Chen, Bui Phi Diep, Lukáš Holík, Denghang Hu, Wei-Lun Tsai, Zhillin Wu, and Di-De Yen Author Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
You can also read