Lecture Notes in Computer Science

Page created by Warren Sharp
 
CONTINUE READING
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