English
Related papers

Related papers: ChameleonIDE: Untangling Type Errors Through Inter…

200 papers

Dependent types provide a lightweight and modular means to integrate programming and formal program verification. In particular, the types of programs written in dependently typed programming languages (Agda, Idris, F*, etc.) can be used to…

Logic in Computer Science · Computer Science 2017-10-10 Danel Ahman

Elixir is a functional programming language with dynamic typing. We propose a gradual type system that makes it possible to perform type-checking on a significant fragment of the language. An important feature of the type system is that it…

Programming Languages · Computer Science 2021-04-20 Mauricio Cassola , Agustín Talagorria , Alberto Pardo , Marcos Viera

The Julia programming language was designed to fill the needs of scientific computing by combining the benefits of productivity and performance languages. Julia allows users to write untyped scripts easily without needing to worry about…

Programming Languages · Computer Science 2023-10-27 Benjamin Chung

Detecting design pattern instances in unfamiliar codebases remains a challenging yet essential task for improving software quality and maintainability. Traditional static analysis tools often struggle with the complexity, variability, and…

Software Engineering · Computer Science 2025-02-26 Christian Schindler , Andreas Rausch

This document specifies a core version of the type theory implemented in the Cedille tool. Cedille is a language for dependently typed programming and computer-checked proof. Cedille can elaborate source programs down to Cedille Core, which…

Logic in Computer Science · Computer Science 2018-11-06 Aaron Stump

When using existing ACL2 datatype frameworks, many theorems require type hypotheses. These hypotheses slow down the theorem prover, are tedious to write, and are easy to forget. We describe a principled approach to types that provides…

Logic in Computer Science · Computer Science 2015-09-22 Sol Swords , Jared Davis

This paper summarizes our efforts to aid human reasoning when verification fails through the use of two distinct Formalization Integrated Development Environments (F-IDEs) that we have developed. Both environments are modular and facilitate…

Logic in Computer Science · Computer Science 2021-11-17 Yu-Shan Sun , Daniel Welch , Murali Sitaraman

To evaluate how developers perform differently in solving programming tasks, i.e., which actions and behaviours are more beneficial to them than others and if there are any specific strategies and behaviours that may indicate good versus…

Software Engineering · Computer Science 2024-03-14 Martin Schröer , Rainer Koschke

Finding and fixing errors is a time-consuming task not only for novice programmers but also for expert programmers. Prior work has identified frequent error patterns among various levels of programmers. However, the differences in the…

Software Engineering · Computer Science 2024-04-01 Atsushi Shirafuji , Taku Matsumoto , Md Faizul Ibne Amin , Yutaka Watanobe

Program errors can occur in any type of programming, and can manifest in a variety of ways, such as unexpected output, crashes, or performance issues. And program error diagnosis can often be too abstract or technical for developers to…

Software Engineering · Computer Science 2025-01-07 Zhenyu Xu , Victor S. Sheng

A feature-oriented product line is a family of programs that share a common set of features. A feature implements a stakeholder's requirement, represents a design decision and configuration option and, when added to a program, involves the…

Software Engineering · Computer Science 2010-01-21 Sven Apel , Christian Kaestner , Armin Groesslinger , Christian Lengauer

Recently, dynamically typed languages, such as Python, have gained unprecedented popularity. Although these languages alleviate the need for mandatory type annotations, types still play a critical role in program understanding and…

Programming Languages · Computer Science 2022-02-08 Ibrahim Abdelaziz , Julian Dolby , Kavitha Srinivas

Logic programs are a powerful approach for solving NP-Hard problems. However, due to their declarative nature, debugging logic programs poses significant challenges. Unlike procedural paradigms, which allow for step-by-step inspection of…

Software Engineering · Computer Science 2024-10-29 Ricardo Brancas , Vasco Manquinho , Ruben Martins

Dynamic languages (such as Python and JavaScript) offer flexibility and simplified type handling for programming, but this can also lead to an increase in type-related errors and additional overhead for compile-time type inference. As a…

Software Engineering · Computer Science 2026-04-06 Teyu Lin , Minghao Fan , Huaxun Huang , Zhirong Shen , Rongxin Wu

Computational notebooks became indispensable tools for research-related development, offering unprecedented interactivity and flexibility in the development process. However, these benefits come at the cost of reproducibility and an…

Software Engineering · Computer Science 2024-05-06 Konstantin Grotov , Sergey Titov , Yaroslav Zharov , Timofey Bryksin

Novice programmers face numerous barriers while attempting to learn how to code that may deter them from pursuing a computer science degree or career in software development. In this work, we propose a tool concept to address the…

Software Engineering · Computer Science 2021-02-12 Austin Z. Henley , Julian Ball , Benjamin Klein , Aiden Rutter , Dylan Lee

Effective program synthesis requires a way to minimise the number of candidate programs being searched. A type signature, for example, places some small restrictions on the structure of potential candidates. We introduce and motivate a…

Programming Languages · Computer Science 2019-07-15 Bruce Collie , Michael O'Boyle

Achieving faster execution with shorter compilation time can foster further diversity and innovation in neural networks. However, the current paradigm of executing neural networks either relies on hand-optimized libraries, traditional…

Machine Learning · Computer Science 2020-01-27 Byung Hoon Ahn , Prannoy Pilligundla , Amir Yazdanbakhsh , Hadi Esmaeilzadeh

Multimodal learning has demonstrated remarkable performance improvements over unimodal architectures. However, multimodal learning methods often exhibit deteriorated performances if one or more modalities are missing. This may be attributed…

The increasing size of large language models (LLMs) has led to a surge in memory requirements during training, often exceeding the capacity of high-bandwidth memory (HBM). Swap-based memory optimization incurs neither accuracy loss nor…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-09-16 Zibo Wang , Yuhang Zhou , Zhibin Wang , Shipeng Li , Xinjing Huang , Chendong Cai , Bingxu Mu , Yuqing Sun , Zhiheng Hu , Bin She , Shu You , Guanghuan Fang , Rong Gu , Wanchun Dou , Guihai Chen , Chen Tian