IWACO 2017
IWACO’17 is over. Thank you to all the speakers and everyone attending! We would love your feedback: http://tiny.cc/iwaco17feedback
Stable object identity and shared mutable state are two powerful principles in object oriented programming. The ability to create aliases to mutable objects 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. In a concurrent setting however, aliasing is at the root of data-races and low-level bugs as multiple threads can directly access shared objects.
Coping with pointers, aliasing and the proliferation of shared mutable state is a problem that crosscuts the software development stack, from compilers and run-times 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, run-time systems and bug-finding tools.
The International Workshop on Aliasing, Capabilities and Ownership, IWACO’17 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.
Accepted Papers
Title | |
---|---|
Introducing Ownership Type Constraints to UML/OCL IWACO File Attached | |
Towards Reasonable Ownership IWACO File Attached |
Call for Papers
Stable object identity and shared mutable state are two powerful principles in object oriented programming. The ability to create aliases to mutable objects 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. In a concurrent setting however, aliasing is at the root of data-races and low-level bugs as multiple threads can directly access shared objects.
Coping with pointers, aliasing and the proliferation of shared mutable state is a problem that crosscuts the software development stack, from compilers and run-times 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, run-time systems and bug-finding tools.
IWACO’17 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 3 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.
Submissions must be in English and using the LNCS template. Papers must be submitted via https://easychair.org/conferences/?conf=iwaco2017, by April 26th.
Mon 19 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
11:00 - 12:30 | |||
11:00 30mTalk | Spencer: Tracing as a Service IWACO Stephan Brandauer Uppsala University | ||
11:30 30mTalk | Are Your Incoming Aliases Really Necessary? Remembering the Cost of Object Ownership. IWACO Alex Potanin Victoria University of Wellington | ||
12:00 30mTalk | Reference Capabilities in Practice: Examining Real-World Pony Code IWACO Sylvan Clebsch Imperial College London |
14:00 - 15:30 | |||
14:00 30mTalk | Aliasing, Capabilities and Ownership in Rust IWACO | ||
14:30 30mTalk | Introducing Ownership Type Constraints to UML/OCL IWACO File Attached | ||
15:00 30mTalk | Towards Reasonable Ownership IWACO File Attached |
16:00 - 18:00 | |||
16:00 45mTalk | Adding Safe Manual Memory Management to .NET IWACO Dimitrios Vytiniotis Microsoft Research, Cambridge |