Planned intervention: On Thursday 19/09 between 05:30-06:30 (UTC), Zenodo will be unavailable because of a scheduled upgrade in our storage cluster.
Published July 14, 2023 | Version v2
Software Open

Type-Safe Dynamic Placement with First-Class Placed Values

  • 1. University of St.Gallen

Description

Dyno is a programming language that enables static reasoning about dynamic
placement. Dyno features a type system where values are explicitly placed, but in contrast to existing
approaches, placed values are also first-class, ensuring that they can be passed around and referred to from
other locations. Building on top of this mechanism, we provide a novel interpretation of dynamic placement
as unions of placement types. We formalize type soundness, placement correctness (as part of type soundness)
and architecture conformance. In case studies and benchmarks, our evaluation shows that Dyno enables
static reasoning about programs even in presence of dynamic placement, ensuring type safety and placement
correctness of programs at negligible performance cost. We reimplement an Android app with ∼ 7 K LOC
in Dyno, find a bug in the existing implementation, and show that the app’s approach is representative of a
common way to implement dynamic placement found in over 100 apps in a large open-source app store.

Files

Files (2.1 GB)

Name Size Download all
md5:14e6525be040744c252d5a66bcfce94f
2.1 GB Download

Additional details

Funding

Multitier Programming above the Clouds 200021_200429
Swiss National Science Foundation