skip to main content
10.1145/3475738acmconferencesBook PagePublication PagesisstaConference Proceedingsconference-collections
MPLR 2021: Proceedings of the 18th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes
ACM2021 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
MPLR '21: 18th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes Münster Germany September 29 - 30, 2021
ISBN:
978-1-4503-8675-3
Published:
29 September 2021
Sponsors:
Recommend ACM DL
ALREADY A SUBSCRIBER?SIGN IN
Next Conference
Reflects downloads up to 16 Feb 2025Bibliometrics
Skip Abstract Section
Abstract

Welcome to MPLR 2021, the 18th International Conference on Managed Programming Languages and Runtimes. MPLR is a successor to the conference series on Managed Languages and Runtimes (ManLang) which originated as Principles and Practice of Programming in Java (PPPJ). This is a premier forum for presenting and discussing novel results in all aspects of managed programming languages and runtime systems, which serve as building blocks for many of the most important computing systems, ranging from small-scale (embedded and real-time systems) to large-scale (cloud-computing and big-data platforms) and anything in between (mobile, IoT, and wearable applications).

Skip Table Of Content Section
SESSION: Implementation Intricacies
research-article
Shared memory protection in a multi-tenant JVM

Multi-tenant Software-as-a-Service (SaaS) providers allow tenants to customize the application at different levels. When the customization involves tenant custom code and a single application instance is shared among multiple tenants, the issue of ...

short-paper
Cross-ISA testing of the Pharo VM: lessons learned while porting to ARMv8

Testing and debugging a Virtual Machine is a laborious task without the proper tooling. This is particularly true for VMs with JIT compilation and dynamic code patching for techniques such as inline caching. In addition, this situation is getting worse ...

short-paper
Higher-order concurrency for microcontrollers

Programming microcontrollers involves low level interfacing with hardware and peripherals that are concurrent and reactive. Such programs are typically written in a mixture of C and assembly using concurrent language extensions (like FreeRTOS tasks and ...

SESSION: Data Delicacies
short-paper
Virtual ADTs for portable metaprogramming

Scala 3 provides a metaprogramming interface that represents the abstract syntax tree definitions using algebraic data types. To allow the compiler to freely evolve without breaking the metaprogramming interface, we present virtual algebraic data types (...

short-paper
Specializing generic Java data structures

The Collections framework is an essential utility in virtually every Java application. It offers a set of fundamental data structures that exploit Java Generics and the Object type in order to enable a high degree of reusability. Upon instantiation, ...

short-paper
Architecture-agnostic dynamic type recovery

Programmers can use various data types when developing software. However, if the program is compiled to machine code, most of this type information is lost. If analysis of a compiled program is necessary, the lost data types have to be recovered again, ...

SESSION: Profiling Particularities
short-paper
Profiling code cache behaviour via events

Virtual machine performance tuning for a given application is an arduous and challenging task. For example, parametrizing the behaviour of the JIT compiler machine code caches affects the overall performance of applications while being rather obscure ...

research-article
Low-overhead multi-language dynamic taint analysis on managed runtimes through speculative optimization

Dynamic taint analysis (DTA) is a popular program analysis technique with applications to diverse fields such as software vulnerability detection and reverse engineering. It consists of marking sensitive data as tainted and tracking its propagation at ...

short-paper
Open Access
Tracing and its observer effect on concurrency

Execution tracing has an observer effect: the act of tracing perturbs program behaviour via its overhead, which can in turn affect the accuracy of subsequent dynamic analysis. We investigate this observer effect in the context of concurrent behaviour ...

SESSION: Coding Curiosities
research-article
Generation of TypeScript declaration files from JavaScript code

Developers are starting to write large and complex applications in TypeScript, a typed dialect of JavaScript. TypeScript applications integrate JavaScript libraries via typed descriptions of their APIs called declaration files. DefinitelyTyped is the ...

research-article
LLJava live at the loop: a case for heteroiconic staged meta-programming

This paper investigates the use of staged meta-programming techniques for the transparent acceleration of embedded domain-specific languages on the Java platform. LLJava-live, the staged API of the low-level JVM language LLJava, can be used to ...

short-paper
Using machine learning to predict the code size impact of duplication heuristics in a dynamic compiler

Code duplication is a major opportunity to enable optimizations in subsequent compiler phases. However, duplicating code prematurely or too liberally can result in tremendous code size increases. Thus, modern compilers use trade-offs between estimated ...

Contributors
  • University of Münster
  • University of Glasgow

Recommendations