ISSTA 2023 Workshops
32nd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2023)
Powered by
Conference Publishing Consulting

15th ACM International Workshop on Context-Oriented Programming and Advanced Modularity (COP 2023), July 17, 2023, Seattle, WA, USA

COP 2023 – Proceedings

Contents - Abstracts - Authors

15th ACM International Workshop on Context-Oriented Programming and Advanced Modularity (COP 2023)


Title Page

Message from the Chairs
Contextual information plays an ever-increasing role in our information-centric world. Current-day software systems adapt continuously to changing execution and usage contexts, even while running. Unfortunately, mainstream programming languages and development environments still do not support this kind of dynamicity very well, leading developers to implement complex designs to anticipate various dimensions of variability.


Towards Virtual Machine Support for Contextual Role-Oriented Programming Languages
Lars Schütze ORCID logo and Jeronimo Castrillon ORCID logo
(TU Dresden, Germany)
Adaptive software becomes more and more important as computing is increasingly context-dependent. Runtime adaptability can be achieved by dynamically selecting and applying context-specific code. Role-oriented programming has been proposed as a paradigm to enable runtime adaptive software by design. Roles change the objects’ behavior at runtime, thus adapting the software to a given context. Most approaches focus on optimizing language implementations neglecting the fact that the generated code is a verbose description of contextual roles in an object-oriented paradigm, which incurs an overhead. This paper takes a novel approach to reduce the semantic gap. We propose ObjectTeams/Truffle, to the best of our knowledge, the first virtual machine that optimizes the dispatch of contextual roles. We evaluate the implementation with a benchmark for role-oriented programming languages achieving a speedup of up to 2.49× over the reference implementation ObjectTeams/Java and 1.2× over an optimized version ObjectTeams/Java using Dispatch Plans.

Publisher's Version
Temporal Layers: Reactive Activation Scope of First-Class Layer Instances
Tetsuo Kamina ORCID logo
(Oita University, Japan)
Context-Oriented Programming (COP) is an approach to improve modularity of context-dependent behaviors. Most COP languages modularize context-dependent behaviors using layers, which are rarely instantiated explicitly. Using the existing layer mechanism, it is difficult to express a context like "a situation where several objects are selected in a GUI window." To tackle this problem, we propose a new type of layers, which we call temporal layers. A temporal layer is different from existing layers in that it is used by creating its instance, and the extent of its activation is its lifetime. The scope of its activation can be defined by declaratively specifying the exclusion condition in the layer's enclosing partial classes. This scope can be dynamically and reactively changing. Using a temporal layer, we show a case study of contextual timetraveling, which demonstrates the effectiveness of our proposal.

Publisher's Version

proc time: 1.33