English
Related papers

Related papers: It's Alive! What a Live Object Environment Changes…

200 papers

Exploratory programming involves open-ended tasks. To evaluate their progress on these, programmers require frequent feedback and means to tell if the feedback they observe is bringing them in the right direction. Collecting, comparing, and…

Programming Languages · Computer Science 2025-03-03 Tom Beckmann , Joana Bergsiek , Eva Krebs , Toni Mattis , Stefan Ramson , Martin C. Rinard , Robert Hirschfeld

A crucial activity in software maintenance and evolution is the comprehension of the changes performed by developers, when they submit a pull request and/or perform a commit on the repository. Typically, code changes are represented in the…

Software Engineering · Computer Science 2025-02-26 Lei Chen , Michele Lanza , Shinpei Hayashi

Tools serve as pivotal interfaces that enable humans to understand and reshape the environment. With the advent of foundation models, AI systems can utilize tools to expand their capabilities and interact with the real world. Existing tool…

Computation and Language · Computer Science 2024-03-15 Shuofei Qiao , Honghao Gui , Chengfei Lv , Qianghuai Jia , Huajun Chen , Ningyu Zhang

Prototyping is an important part in research and development of tangible user interfaces (TUIs). On the way from the idea to a working prototype, new hardware prototypes usually have to be crafted repeatedly in numerous iterations. This…

Human-Computer Interaction · Computer Science 2014-06-03 Stefan Diewald , Andreas Möller , Luis Roalter , Matthias Kranz

Parallel programs require software support to coordinate access to shared data. For this purpose, modern programming languages provide strongly-consistent shared objects. To account for their many usages, these objects offer a large API.…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-04-30 Boubacar Kane , Pierre Sutra

In model-driven engineering, the bidirectional transformation of models plays a crucial role in facilitating the use of editors that operate at different levels of abstraction. This is particularly important in the context of…

Software Engineering · Computer Science 2023-05-08 Hugo Lourenço , João Costa Seco , Carla Ferreira , Tiago Simões , Vasco Silva , Filipe Assunção , André Menezes

Software development is a complex endeavor that depends on a wide variety of contextual factors involving a large amount of distributed information. This knowledge could include: technology-related tasks, software operating environments and…

Software Engineering · Computer Science 2020-06-04 Glaucia Melo , Edith Law , Paulo Alencar , Don Cowan

Foundation models have demonstrated a great ability to achieve general human-level intelligence far beyond traditional approaches. As the technique keeps attracting attention from the AI community, an increasing number of foundation models…

Computation and Language · Computer Science 2024-05-07 Shizhe Diao , Rui Pan , Hanze Dong , Ka Shun Shum , Jipeng Zhang , Wei Xiong , Tong Zhang

Large Language Models (LLMs) are rapidly transforming software engineering, with coding assistants embedded in an IDE becoming increasingly prevalent. While research has focused on improving the tools and understanding developer…

Many beloved programming systems are image-based: self-contained worlds that persist both code and data in a single file. Examples include Smalltalk, LISP, HyperCard, Flash, and spreadsheets. Image-based programming avoids much of the…

Programming Languages · Computer Science 2021-10-19 Jonathan Edwards , Tomas Petricek

The design and development process for Internet of Things (IoT) applications is more complicated than for desktop, mobile, or web applications. IoT applications require both software and hardware to work together across multiple different…

Software Engineering · Computer Science 2020-12-01 Charith Perera , Mahmoud Barhamgi , Massimo Vecchio

Modern software development requires a large investment in learning application programming interfaces (APIs). Recent research found that the learning materials themselves are often inadequate: developers struggle to find answers beyond…

Software Engineering · Computer Science 2014-02-07 Adrian Kuhn , Robert DeLine

The use of low- and no-code modeling tools is today an established way in practice to give non-programmers an opportunity to master their digital challenges independently, using the means of model-driven software development. However, the…

Programming Languages · Computer Science 2021-04-21 Philip Zweihoff , Bernhard Steffen

In Software Engineering, some of the most critical activities are maintenance and evolution. However, to perform both with quality, minimizing impacts and risks, developers need to analyze and identify where the main problems come from…

Software Engineering · Computer Science 2020-08-11 Guilherme Lacerda , Fabio Petrillo , Marcelo Pimenta

Context: A growing amount of code is written to explore and analyze data, often by data analysts who do not have a traditional background in programming, for example by journalists. Inquiry: The way such data anlysts write code is different…

Programming Languages · Computer Science 2020-02-17 Tomas Petricek

The current software development tools show the same form of interaction as when they started back, in the mid 70's. However, since the appearance of visual languages and due to their own nature, they can be handled by tools which have…

Human-Computer Interaction · Computer Science 2012-05-04 Carlos Alberto Fernandez-y-Fernandez , Jose Angel Quintanar

Context. Refining or altering existing behavior is the daily work of every developer, but that cannot be always anticipated, and software sometimes cannot be stopped. In such cases, unanticipated adaptation of running systems is of interest…

Programming Languages · Computer Science 2020-02-17 Steven Costiou , Vincent Aranega , Marcus Denker

Debugging is an essential part of software maintenance and evolution since it allows software developers to analyze program execution step by step. Understanding a program is required to fix potential flaws, alleviate bottlenecks, and…

Software Engineering · Computer Science 2024-04-22 Tim Kräuter , Harald König , Adrian Rutle , Yngve Lamo

This paper describes our experiences creating Tornado: a practical and efficient heterogeneous programming framework for managed languages. The novel aspect of Tornado is that it turns the programming of heterogeneous systems from an…

Programming Languages · Computer Science 2018-03-02 James Clarkson , Christos Kotselidis

Inspection of code changes is a time-consuming task that constitutes a big part of everyday work of software engineers. Existing IDEs provide little information about the semantics of code changes within the file editor view. Therefore…