No abstract available.
Proceeding Downloads
SML#: Toward the Ideal Interoperability between Languages and Systems (Keynote)
This talk introduces the development of the SML# language and its native code compiler from the perspective of its interoperability with operating systems and foreign libraries. SML# is a statically-typed functional programming language derived from ...
Programming for Deep Learning on Top of Virtual Machines (Keynote)
Development of deep learning applications over a variety of new hardware opens many challenges for developers. These challenges include requirements for massive parallelization, runtime optimization and debugging of computation over a large amount of ...
A Compact and Extensible Portable Scheme VM
Virtual Machines (VM) tend to evolve over their life cycle with features being added regularly and a growing footprint. In a VM designed for resource constrained environments this trend deteriorates the VM’s primary quality. We present how extensibility ...
Threaded Execution as a Dual to Native Code
Threaded execution has been used as a higher performance alternative to a byte-code interpreter, by utilizing hardware dispatch to replace software interpreter dispatch.
Traditional JIT code is compiled from byte-code to native code for the current ...
Implementation and Evaluation of an Interpreter for Functional Reactive Programming on Small Embedded Devices
This paper reports the implementation of Emfrp-REPL, an interactive interpreter (REPL) of a functional reactive programming language for resource-constrained embedded systems. Its goal is to accelerate the prototyping and development of microcontroller-...
Cross-Language Interoperability of Heterogeneous Code
- Athanasios Stratikopoulos,
- Florin Blanaru,
- Juan Fumero,
- Maria Xekalaki,
- Orion Papadakis,
- Christos Kotselidis
In recent years, the Java Virtual Machine has evolved from a cross-ISA virtualization layer to a system that can also offer multilingual support. GraalVM paved the way to enable the interoperability of Java with other programming languages, such as ...
Clerk: Moldable Live Programming for Clojure
Clerk is an open source Clojure programmer’s assistant that builds upon the traditions of interactive and literate programming to provide a holistic moldable development environment. Clerk layers static analysis, incremental computation, and rich ...
Five Futures with AI Coding Agents
Many computer programmers are beginning to use computational agents to help them develop software. This article raises questions about the nature of programmer-to-agent relationships. The author’s intent is to foster thought that will help human ...
Multiple-Representation Visual Compositional Dataflow Programming
Many tasks that end users want to accomplish with a computer program are fundamentally data-flow transformations, and both visual and textual programming systems have been created to fill this need, but these are often inflexible, unapproachable, or ...
My Space, Our Space, Their Space: A First Glance at Developers’ Experience of Spaces
We report on an investigation into the nature of the experience that developers have with the spaces in which they work and live based on the reflections of the authors. We describe a few aspects of the structure of developers’ experience around the ...
Object-Centric Time-Travel Debugging: Exploring Traces of Objects
Traditional behavior-centric debuggers are organized around an extensive call stack, making it hard for programmers to navigate and explore large programs. We present object traces, a novel, object-centric approach to time-travel debugging that enables ...
Probe Log: Visualizing the Control Flow of Babylonian Programming
Code itself is abstract, which makes it often difficult to understand – sometimes even by the programmers that wrote it. When working with or thinking about code, programmers thus often resort to concrete values and execution traces to make the abstract ...
Programmer Stories, Stories for Programmers: Exploring Storytelling in Software Development
Developers need to comprehend new code on a regular basis; a demanding task that gets complicated as projects grow in complexity and size. To help developers, documentation is typically added in the form of code comments, design documents, system ...
ReactCOP Supporting Layer Parameter Management for Front-End Web Applications
In modern software, including web applications, context-dependent behavior is one of the most important features. Context-oriented programming (COP) is a suitable programming technique for developing such software. However, we often need to work on ...
Resurrecting Score11 in Siren: What Ever Happened to the 1980s Score Languages?
This paper describes a “software archaeology” project in which a new interpreter was created for the Score11 music representation, a popular 1980s music input language that was frequently used with the Music11 non-real-time software sound synthesis ...
Static Analysis for Quantum Software Correctness and Reliability (Keynote)
Software correctness and reliability have been central issues in classical computing for decades. Researchers have developed a wide range of approaches to these problems, but few have been to date for quantum computing. In this talk, I consider two ...
Scaling W State Circuits in the qudit Clifford Hierarchy
We identify a novel qudit gate which we refer to as the gate. This is an alternate generalization of the qutrit T gate to any odd prime dimension d, in the dth level of the Clifford hierarchy. Using this gate which is efficiently realizable fault-...
Symbolic Quantum Programming for Supporting Applications of Quantum Computing Technologies
The goal of this paper is to deliver the overview of the current state of the art, provide experience report on developing quantum software tools, and outline the perspective for developing quantum programming tools supporting symbolic programming for ...
Capturing Qubit Decoherence through Paraconsistent Transition Systems
This position paper builds on the authors’ previous work on paraconsistent transition systems to propose a modelling framework for quantum circuits with explicit representation of decoherence.
Model-Driven Quantum Federated Learning (QFL)
Recently, several studies have proposed frameworks for Quantum Federated Learning (QFL). For instance, the Google TensorFlow Quantum (TFQ) and TensorFlow Federated (TFF) libraries have been deployed for realizing QFL. However, developers, in the main, ...
Towards Reliable Distributed Quantum Computing on Quantum Interconnects
Quantum interconnects (QuICs), which connect multiple quantum devices to build distributed quantum systems, are essential for large-scale quantum information processing. While various software tools have been developed to analyze quantum programs ...
Index Terms
- Companion Proceedings of the 7th International Conference on the Art, Science, and Engineering of Programming