<Programming'21> Companion
5th International Conference on the Art, Science, and Engineering of Programming (<Programming> 2021 Companion)
Powered by
Conference Publishing Consulting

5th International Conference on the Art, Science, and Engineering of Programming (<Programming> 2021 Companion), March 22–26, 2021, Virtual, UK

<Programming'21> Companion – Companion Proceedings

Contents - Abstracts - Authors


Title Page

Message from the Chairs

5th International Workshop on Programming Technology for the Future Web (ProWeb 2021)

7th International Workshop on Programming Experience (PX/21)
Some programming feels fun, other programming feels annoying. Why? For a while now the study of programming has forced improvements to be described through the Fordist lens of usability and productivity, where the thing that matters is how much software can get built, how quickly. But along the way, something has gone missing. What makes programmers feel the way they do when they’re programming? It’s not usually fun to spend an age doing something that could have been done easily, so efficiency and usability still matter, but they’re not the end of the story. Some environments, activities, contexts, languages, infrastructures make programming feel alive, others feel like working in a bureaucracy. This is not purely technologically determined, writing Lisp to do your taxes probably still isn’t fun, but it’s also not technologically neutral, writing XML to produce performance art is still likely to be . Whilst we can probably mostly agree about what isn’t fun, what is remains more personal and without a space within the academy to describe it. In its past editions, PX set its focus on questions like: Do programmers create text that is transformed into running behavior (the old way), or do they operate on behavior directly (“liveness”); are they exploring the live domain to understand the true nature of the requirements; are they like authors creating new worlds; does visualization matter; is the experience immediate, immersive, vivid and continuous; do fluency, literacy, and learning matter; do they build tools, meta-tools; are they creating languages to express new concepts quickly and easily; and curiously, is joy relevant to the experience? In this PX, we expand its focus to also cover the experience that programmers have. What makes it and what breaks it? For whom? What can we build to share the joy of programming with others?
Salon Littéraire (Salon 2021)

4th Raincode Labs Compiler Coding Dojo (CoCoDo 2021)

ProWeb 2021

Rec.HTML: Typed Declarative HTML
Bob Reynders and Kwanghoon Choi
(Chonnam National University, South Korea)
Interactive user experiences on the web are becoming the norm. Client-side programs are becoming more complicated and have to deal with event handling, reading HTML document state and updating the interface. In this paper we propose a declarative language that supports these three facets of client-side browser development declaratively and provides a programming model where complex interfaces can be written using simple programming techniques such as records, functions and recursion.

Publisher's Version Article Search
Oron: Towards a Dynamic Analysis Instrumentation Platform for AssemblyScript
Aäron Munsters, Angel Luis Scull Pupo, Jim Bauwens, and Elisa Gonzalez Boix
(Vrije Universiteit Brussel, Belgium)

Publisher's Version Article Search


Exploring Modal Locking in Window Manipulation
Marcel TaeumelORCID logo and Robert Hirschfeld
(HPI, Germany)
Window manipulation plays a vital role in multi-tool user interaction, especially for programmers exploring software artifacts, gathering information for better understanding. However, today's window managers offer only limited means to organize screen contents, which increases cognitive efforts for both tool builders and users. Builders must account for live integration of composite views; users might have to work around disruptive mode errors when actual tasks conflict with a tool's design. We follow a pattern-finding approach and present four new verbs for direct window manipulation, which we consolidated from existing tools and systems. If window managers would offer to stash, duplicate, split, and link views, we believe that programmers could better maintain flow during exploration activities.

Publisher's Version Article Search
Improving on the Experience of Hand-Assembling Programs for Application-Specific Architectures
Ian Piumarta
(Kyoto University of Advanced Science, Japan)

Publisher's Version Article Search
Javardeye: Gaze Input for Cursor Control in a Structured Editor
André L. Santos
(ISCTE-IUL, Portugal)
Programmers spend a considerable time jumping through editing positions in the source code, often requiring the use of the mouse and/or arrow keys to position the cursor at the desired editing position. We developed Javardeye, a prototype code editor for Java integrated with eye tracking technology for controlling the editing cursor. Our implementation is based on a structured editor, leveraging on its particular characteristics, and augmenting it with a secondary--latent cursor--controlled by eye gaze. This paper describes the main design decisions and tradeoffs of our approach.

Publisher's Version Article Search Video
Studying Programmer Behaviour at Scale: A Case Study using Amazon Mechanical Turk
Jason Jacques and Per Ola Kristensson
(University of Cambridge, UK)

Publisher's Version Article Search
Towards End-User Web Scraping for Customization
Kapaya Katongo, Geoffrey LittORCID logo, and Daniel Jackson
(Massachusetts Institute of Technology, USA)

Publisher's Version Article Search
Toward Exploratory Understanding of Software using Test Suites
Dominik Meier, Toni Mattis, and Robert Hirschfeld
(HPI, Germany)

Publisher's Version Article Search

CoCoDo 2021

From ASTs to Machine Code with LLVM
Dimitri Racordon
(University of Geneva, Switzerland)

Publisher's Version Article Search

proc time: 1.36