ICSME 2023
Sun 1 - Fri 6 October 2023 Bogotá, Colombia
Thu 5 Oct 2023 15:46 - 16:02 at Session 2 Room - RGD 04 - Program Analysis Chair(s): Fabio Petrillo, Mark Hills

Context. There is a trend in the software industry towards building systems that dynamically adapt their behavior in response to their surrounding environment, given the proliferation of various technological devices, such as notebooks, smartphones, and wearables, capable of capturing their execution context. Context-oriented Programming (COP) allows developers to use layer abstractions to adapt software behavior to the context. A layer is associated with a context and can be dynamically activated in direct response to gathered information from its surrounding execution environment. However, most existing layer activation mechanisms have been tailored specifically to address a particular concern; implying that developers need to tweak layer definitions in contortive ways or create new specialized activation mechanisms altogether if their specific needs are not supported.

Objective. Complementing ideas to expressively declare activation mechanism models with interfaces that define conditionals of activation mechanisms modularly, this paper proposes an Expressive and Modular Activation mechanism, named EMA.

Method. To propose EMA, we analyze existing activation mechanisms in COP regarding activation features and scope strategies. After, we propose the design of EMA and validate it with a case study discussion.

Results. Using a concrete JavaScript implementation of EMA, named EMAjs, we can implement two Web applications: a smartphone application as an example to illustrate EMAjs in action, and an application of home automation to discuss and compare our proposal.

Conclusions. Our proposed mechanism allows developers to instantiate different activation scope strategies and interfaces to decouple the declaration of activation mechanism conditionals from the base code.

Thu 5 Oct

Displayed time zone: Bogota, Lima, Quito, Rio Branco change

15:30 - 17:00
Program AnalysisResearch Track / Journal First Track / Industry Track at Session 2 Room - RGD 04
Chair(s): Fabio Petrillo École de technologie supérieure (ÉTS), Montréal -- Université du Québec, Mark Hills Appalachian State University
15:30
16m
Talk
Slicing Shared-Memory Concurrent Programs, The Threaded System Dependence Graph Revisited
Research Track
Carlos Galindo Universitat Politècnica de València, Marisa Llorens Universitat Politècnica de València, Sergio Perez Rubio Universitat Politècnica de València, Josep Silva Universitat Politècnica de València
15:46
16m
Talk
An Expressive and Modular Layer Activation Mechanism for Context-Oriented Programming
Journal First Track
Paul Leger Universidad Católica del Norte, Chile, Nicolás Cardozo Universidad de los Andes, Hidehiko Masuhara Tokyo Institute of Technology
Link to publication DOI
16:02
16m
Talk
Dynamic Slicing of WebAssembly Binaries
Research Track
Quentin Stiévenart Université du Québec à Montréal (UQAM), David Binkley Loyola University Maryland, Coen De Roover Vrije Universiteit Brussel
Pre-print
16:18
11m
Talk
OLA: Property Directed Outer Loop Abstraction for Efficient Verification of Reactive Systems
Industry Track
Priyanka Darke Tata Consultancy Services, Bharti Chimdyalwar Tata Consultancy Services
16:29
16m
Talk
A Component-Sensitive Static Analysis Based Approach for Modeling Intents in Android Apps
Research Track
Negarsadat Abolhassani University of Southern California, William G.J. Halfond University of Southern California
16:45
15m
Live Q&A
1:1 Q&A
Research Track