Programming Journal, Volume 11, Issue 2 – Author Index |
Contents -
Abstracts -
Authors
|
| Combemale, Benoit |
Philémon Houdaille, Djamel Eddine Khelladi, Gunter Mussbacher, and Benoit Combemale (CNRS - Université de Rennes - IRISA - Inria, France; McGill University, Canada) Program comprehension is challenging when the execution state is distributed across heterogeneous platforms (e.g., CPUs, virtual machines...) or multiple languages with isolated runtimes. Developers are typically restricted to local execution views, which hinders the understanding and reasoning about global program behavior. Existing tools such as debuggers, loggers, and live programming environments expose only local states of a single programming language. This prevents understanding how local changes affect the global state involving multiple languages. It raises two key challenges: (i) accessing a coherent global state from distributed local states, and (ii) enabling developers to reason about it effectively from their own local context. In this paper, we extend example-based live programming to address these challenges. We introduce LivEx, a domain specific language that allows developers to specify, directly at a given place of interest in the program, not only examples but also the corresponding execution entry points and probes which allow querying information on the global state. This mechanism centralizes distributed states into a unified live view, accessible from the developer’s local context. Our implementation demonstrates that LivEx allows the construction of a coherent global view from distributed local states and supports tracking the propagation of changes across platforms and languages. We evaluate our approach by examining 1) its applicability, which we find to require a low-to-moderate amount of effort; 2) its responsiveness, which scales linearly with the number of probe elements; and 3) its expressiveness, which we find to cover various use-cases. LivEx enables developers to access and visualize, from their local context, the impact of their work on the overall global execution state. |
|
| Houdaille, Philémon |
Philémon Houdaille, Djamel Eddine Khelladi, Gunter Mussbacher, and Benoit Combemale (CNRS - Université de Rennes - IRISA - Inria, France; McGill University, Canada) Program comprehension is challenging when the execution state is distributed across heterogeneous platforms (e.g., CPUs, virtual machines...) or multiple languages with isolated runtimes. Developers are typically restricted to local execution views, which hinders the understanding and reasoning about global program behavior. Existing tools such as debuggers, loggers, and live programming environments expose only local states of a single programming language. This prevents understanding how local changes affect the global state involving multiple languages. It raises two key challenges: (i) accessing a coherent global state from distributed local states, and (ii) enabling developers to reason about it effectively from their own local context. In this paper, we extend example-based live programming to address these challenges. We introduce LivEx, a domain specific language that allows developers to specify, directly at a given place of interest in the program, not only examples but also the corresponding execution entry points and probes which allow querying information on the global state. This mechanism centralizes distributed states into a unified live view, accessible from the developer’s local context. Our implementation demonstrates that LivEx allows the construction of a coherent global view from distributed local states and supports tracking the propagation of changes across platforms and languages. We evaluate our approach by examining 1) its applicability, which we find to require a low-to-moderate amount of effort; 2) its responsiveness, which scales linearly with the number of probe elements; and 3) its expressiveness, which we find to cover various use-cases. LivEx enables developers to access and visualize, from their local context, the impact of their work on the overall global execution state. |
|
| Khelladi, Djamel Eddine |
Philémon Houdaille, Djamel Eddine Khelladi, Gunter Mussbacher, and Benoit Combemale (CNRS - Université de Rennes - IRISA - Inria, France; McGill University, Canada) Program comprehension is challenging when the execution state is distributed across heterogeneous platforms (e.g., CPUs, virtual machines...) or multiple languages with isolated runtimes. Developers are typically restricted to local execution views, which hinders the understanding and reasoning about global program behavior. Existing tools such as debuggers, loggers, and live programming environments expose only local states of a single programming language. This prevents understanding how local changes affect the global state involving multiple languages. It raises two key challenges: (i) accessing a coherent global state from distributed local states, and (ii) enabling developers to reason about it effectively from their own local context. In this paper, we extend example-based live programming to address these challenges. We introduce LivEx, a domain specific language that allows developers to specify, directly at a given place of interest in the program, not only examples but also the corresponding execution entry points and probes which allow querying information on the global state. This mechanism centralizes distributed states into a unified live view, accessible from the developer’s local context. Our implementation demonstrates that LivEx allows the construction of a coherent global view from distributed local states and supports tracking the propagation of changes across platforms and languages. We evaluate our approach by examining 1) its applicability, which we find to require a low-to-moderate amount of effort; 2) its responsiveness, which scales linearly with the number of probe elements; and 3) its expressiveness, which we find to cover various use-cases. LivEx enables developers to access and visualize, from their local context, the impact of their work on the overall global execution state. |
|
| Mussbacher, Gunter |
Philémon Houdaille, Djamel Eddine Khelladi, Gunter Mussbacher, and Benoit Combemale (CNRS - Université de Rennes - IRISA - Inria, France; McGill University, Canada) Program comprehension is challenging when the execution state is distributed across heterogeneous platforms (e.g., CPUs, virtual machines...) or multiple languages with isolated runtimes. Developers are typically restricted to local execution views, which hinders the understanding and reasoning about global program behavior. Existing tools such as debuggers, loggers, and live programming environments expose only local states of a single programming language. This prevents understanding how local changes affect the global state involving multiple languages. It raises two key challenges: (i) accessing a coherent global state from distributed local states, and (ii) enabling developers to reason about it effectively from their own local context. In this paper, we extend example-based live programming to address these challenges. We introduce LivEx, a domain specific language that allows developers to specify, directly at a given place of interest in the program, not only examples but also the corresponding execution entry points and probes which allow querying information on the global state. This mechanism centralizes distributed states into a unified live view, accessible from the developer’s local context. Our implementation demonstrates that LivEx allows the construction of a coherent global view from distributed local states and supports tracking the propagation of changes across platforms and languages. We evaluate our approach by examining 1) its applicability, which we find to require a low-to-moderate amount of effort; 2) its responsiveness, which scales linearly with the number of probe elements; and 3) its expressiveness, which we find to cover various use-cases. LivEx enables developers to access and visualize, from their local context, the impact of their work on the overall global execution state. |
4 authors
proc time: 0.01