Write a Blog >>
ECOOP 2021
Sun 11 - Sat 17 July 2021 Online
co-located with ECOOP and ISSTA 2021

IWACO’21 has been cancelled

Stable object identity and shared mutable state are two powerful principles in programming. The ability to create multiple aliases to mutable data allows a direct modelling of sharing that occurs naturally in a domain, and lies at the heart of efficient programming patterns where aliases provide shortcuts to key places in a data structure. However, aliasing is also the cause of low-level bugs which are notoriously hard to debug, where a change through one alias may cause unforeseen changes visible through another alias. These problems are exacerbated in a concurrent setting, where aliasing is at the root of data races with multiple threads mutating shared memory simultaneously.

Coping with pointers, aliasing and the proliferation of shared mutable state is a problem that crosscuts the software development stack, from compilers and runtimes to bug-finding tools and end-user software. They complicate modular reasoning and program analysis, efficient code generation, efficient use of memory, and obfuscate program logic.

Several techniques have been introduced to describe and reason about stateful programs, and to restrict, analyze, and prevent aliases. These include various forms of ownership types, capabilities, separation logic, linear logic, uniqueness, sharing control, escape analysis, argument independence, read-only references, linear references, effect systems, and access control mechanisms. These tools have found their way into type systems, compilers and interpreters, runtime systems and bug-finding tools.

IWACO 2021 will focus on these techniques, on how they can be used to reason about stateful (sequential or concurrent) programs, and how they have been applied to programming languages.

Call for Papers

IWACO’21 has been cancelled

Stable object identity and shared mutable state are two powerful principles in programming. The ability to create multiple aliases to mutable data allows a direct modelling of sharing that occurs naturally in a domain, and lies at the heart of efficient programming patterns where aliases provide shortcuts to key places in a data structure. However, aliasing is also the cause of low-level bugs which are notoriously hard to debug, where a change through one alias may cause unforeseen changes visible through another alias. These problems are exacerbated in a concurrent setting, where aliasing is at the root of data races with multiple threads mutating shared memory simultaneously.

Coping with pointers, aliasing and the proliferation of shared mutable state is a problem that crosscuts the software development stack, from compilers and runtimes to bug-finding tools and end-user software. They complicate modular reasoning and program analysis, efficient code generation, efficient use of memory, and obfuscate program logic.

Several techniques have been introduced to describe and reason about stateful programs, and to restrict, analyze, and prevent aliases. These include various forms of ownership types, capabilities, separation logic, linear logic, uniqueness, sharing control, escape analysis, argument independence, read-only references, linear references, effect systems, and access control mechanisms. These tools have found their way into type systems, compilers and interpreters, runtime systems and bug-finding tools.

IWACO’21 will focus on these techniques, on how they can be used to reason about stateful (sequential or concurrent) programs, and how they have been applied to programming languages. In particular, we will consider papers on:

  • models, type systems and other formal systems, programming language mechanisms, analysis and design techniques, patterns and notations for expressing ownership, aliasing, capabilities, uniqueness, and related topics;
  • empirical studies of programs or experience reports from programming systems designed with these techniques in mind;
  • programming logics that deal with aliasing and/or shared state, or use ownership, capabilities or resourcing;
  • applications of capabilities, ownership and other similar type systems in low-level systems such as programming languages runtimes, virtual machines, or compilers; and
  • optimization techniques, analysis algorithms, libraries, applications, and novel approaches exploiting ownership, aliasing, capabilities, uniqueness, and related topics.

Contributions may be submitted in two formats:

  • Short papers (up to 2 pages, excluding references and clearly marked appendices) describing new ideas and open questions for discussion.
  • Full papers (up to 8 pages, excluding references and clearly marked appendices) describing (preliminary) research results.

All authors should use the official “ACM Master article template”, which can be obtained from the ACM Proceedings Template pages (https://www.acm.org/publications/proceedings-template). Latex users should use the “sigconf” option as well as “review” (to produce line numbers for easy reference by the reviewers). To that end, the following latex code can be placed at the start of the latex document: \documentclass[sigconf,review]{acmart}

Submissions will be submitted via HotCRP: https://iwaco21.hotcrp.com

Full papers will be included in the workshop proceedings, which will be archived in the ACM digital library.

Important Dates (AoE):

  • Paper submission: 26 April 2021
  • Notification: 17 May 2021
  • Camera-ready deadline: 4 June 2021
  • Workshop: 12 July 2021