English
Related papers

Related papers: ChameleonIDE: Untangling Type Errors Through Inter…

200 papers

Polymorphic types are an important feature in most strongly typed programming languages. They allow functions to be written in a way that can be used with different data types, while still enforcing the relationship and constraints between…

Programming Languages · Computer Science 2024-05-22 Shuai Fu , Tim Dwyer , Peter J. Stuckey

The development of user-friendly embedded prototyping systems like Arduino has made creating interactive devices more accessible. However, debugging these systems is challenging due to the intertwined nature of software and hardware issues.…

Human-Computer Interaction · Computer Science 2026-03-05 Andrea Bianchi , Zhi Lin Yap , Punn Lertjaturaphat , Austin Z. Henley , Kongpyung Justin Moon , Yoonji Kim

Dependently typed programming languages allow sophisticated properties of data to be expressed within the type system. Of particular use in dependently typed programming are indexed types that refine data by computationally useful…

Logic in Computer Science · Computer Science 2015-07-01 Robert Atkey , Patricia Johann , Neil Ghani

When novices fabricate, they start by choosing a workflow (e.g., laser cutting, 3D printing, etc.) and corresponding software from a narrow set they know. As they advance their design, another workflow might better suit their intent, but…

Human-Computer Interaction · Computer Science 2026-02-17 Shuo Feng , Xuening Wang , Yifan , Shan , Krista U Singh , Bo Liu , Amritansh Kwatra , Ritik Batra , Tobias M Weinberg , Thijs Roumen

Gradually typed languages allow programmers to mix statically and dynamically typed code, enabling them to incrementally reap the benefits of static typing as they add type annotations to their code. However, this type migration process is…

Programming Languages · Computer Science 2021-09-14 Luna Phipps-Costin , Carolyn Jane Anderson , Michael Greenberg , Arjun Guha

Computational notebooks -- such as Jupyter or Colab -- combine text and data analysis code. They have become ubiquitous in the world of data science and exploratory data analysis. Since these notebooks present a different programming…

Software Engineering · Computer Science 2022-07-20 Derek Robinson , Neil A. Ernst , Enrique Larios Vargas , Margaret-Anne D. Storey

Elixir is a dynamically-typed functional language running on the Erlang Virtual Machine, designed for building scalable and maintainable applications. Its characteristics have earned it a surging adoption by hundreds of industrial actors…

Programming Languages · Computer Science 2024-01-01 Giuseppe Castagna , Guillaume Duboc , José Valim

Professional software offers immense power but also presents significant learning challenges. Its complex interfaces, as well as insufficient built-in structured guidance and unfamiliar terminology, often make newcomers struggle with task…

Human-Computer Interaction · Computer Science 2025-05-20 Yimeng Liu , Misha Sra

Large Language Models (LLMs) have upended decades of pedagogy in computing education. Students previously learned to code through \textit{writing} many small problems with less emphasis on code reading and comprehension. Recent research has…

In recent projects on operating-system verification, C and C++ data types are often formalized using a semantics that does not fully specify the precise byte encoding of objects. It is well-known that such an underspecified data-type…

Logic in Computer Science · Computer Science 2012-11-28 Hendrik Tews , Marcus Völp , Tjark Weber

In recent years, compositional symbolic execution (CSE) tools have been growing in prominence and are becoming more and more applicable to real-world codebases. Still to this day, however, debugging the output of these tools remains…

Programming Languages · Computer Science 2026-02-10 Nat Karmios , Sacha-Élie Ayoun , Philippa Gardner

Gradual typing has gained popularity as a design choice for integrating static and dynamic typing within a single language. Several practical languages have adopted gradual typing to offer programmers the flexibility to annotate their…

Programming Languages · Computer Science 2026-03-09 Senxi Li , Feng Dai , Tetsuro Yamazaki , Shigeru Chiba

Multimodal Artificial Intelligence (AI) systems, particularly Vision-Language Models (VLMs), have become integral to critical applications ranging from autonomous decision-making to automated document processing. As these systems scale,…

Artificial Intelligence · Computer Science 2025-12-05 M Zeeshan , Saud Satti

Pointers are a powerful, but dangerous feature provided by the C and C++ programming languages, and incorrect use of pointers is a common source of bugs and security vulnerabilities. Making secure software is crucial, as vulnerabilities…

Formal Languages and Automata Theory · Computer Science 2024-11-01 Vlad-Alexandru Teodorescu , Dorel Lucanu

In recent years, programming has witnessed a shift towards using standard libraries as a black box. However, there has not been a synchronous development of tools that can help demonstrate the working of such libraries in general programs,…

Computers and Society · Computer Science 2021-01-29 Aman Bansal , Preey Shah , Sahil Shah

Software engineering is extremely information-intensive. Every day developers work with source code, version repositories, issue trackers, documentation, web-based and other information resources. However, three key aspects of information…

Software Engineering · Computer Science 2016-07-18 Dimitar Asenov , Peter Müller , Lukas Vogel

Recent advances in coding agents have shown remarkable progress in software issue resolution. In practice, real-world issues are typically bug fixes or feature requests in which human developers naturally incorporate refactoring as part of…

Software Engineering · Computer Science 2026-05-22 Zhao Tian , Zifan Zhang , Tao Xiao , Dong Wang , Masanari Kondo , Junjie Chen , Yasutaka Kamei

Graphical user interfaces (GUIs) are integral parts of software systems that require interactions from their users. Software testers have paid special attention to GUI testing in the last decade, and have devised techniques that are…

Software Engineering · Computer Science 2017-03-29 Valéria Lelli , Arnaud Blouin , Benoit Baudry

Many researchers have studied the behaviour of successful developers while debugging desktop software. In this paper, we investigate the embedded-software debugging by intermediate programmers through an exploratory study. The bugs are…

Software Engineering · Computer Science 2017-04-12 Pansy Arafa , Daniel Solomon , Samaneh Navabpour , Sebastian Fischmeister

A common standpoint when designing the syntax of programming languages is that the grammar definition has to be unambiguous. However, requiring up front unambiguous grammars can force language designers to make more or less arbitrary…

Formal Languages and Automata Theory · Computer Science 2020-02-05 Viktor Palmkvist , Elias Castegren , Philipp Haller , David Broman