English
Related papers

Related papers: PyTy: Repairing Static Type Errors in Python

200 papers

Many popular Python libraries use C-extensions for performance-critical operations allowing users to combine the best of the two worlds: The simplicity and versatility of Python and the performance of C. A drawback of this approach is that…

Software Engineering · Computer Science 2026-03-09 Lucas Berg , Lukas Krodinger , Stephan Lukasczyk , Annibale Panichella , Gordon Fraser , Wim Vanhoof , Xavier Devroey

The existing deep learning (DL)-based automated program repair (APR) models are limited in fixing general software defects. % We present {\tool}, a DL-based approach that supports fixing for the general bugs that require dependent changes…

Software Engineering · Computer Science 2022-05-05 Yi Li , Shaohua Wang , Tien N. Nguyen

Both professional coders and teachers frequently deal with imperfect (fragmentary, incomplete, ill-formed) code. Such fragments are common in STACKOVERFLOW; students also frequently produce ill-formed code, for which instructors, TAs (or…

Software Engineering · Computer Science 2021-03-10 Toufique Ahmed , Premkumar Devanbu , Vincent Hellendoorn

Code completion aims to help improve developers' productivity by suggesting the next code tokens from a given context. Various approaches have been proposed to incorporate abstract syntax tree (AST) information for model training, ensuring…

Software Engineering · Computer Science 2023-05-02 Wannita Takerngsaksiri , Chakkrit Tantithamthavorn , Yuan-Fang Li

Automatic program repair (APR) has recently gained attention because it proposes to fix software defects with no human intervention. To automatically fix defects, most APR tools use the developer-written tests to (a) localize the defect,…

Software Engineering · Computer Science 2021-04-19 Manish Motwani

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

Gradual typing combines static and dynamic typing in the same program. One would hope that the performance in a gradually typed language would range between that of a dynamically typed language and a statically typed language. Existing…

Programming Languages · Computer Science 2018-02-20 Andre Kuhlenschmidt , Deyaaeldeen Almahallawi , Jeremy G. Siek

Generative AI is changing the way that many disciplines are taught, including computer science. Researchers have shown that generative AI tools are capable of solving programming problems, writing extensive blocks of code, and explaining…

Human-Computer Interaction · Computer Science 2024-02-14 Bailey Kimmel , Austin Geisert , Lily Yaro , Brendan Gipson , Taylor Hotchkiss , Sidney Osae-Asante , Hunter Vaught , Grant Wininger , Chase Yamaguchi

Ensuring the consistent usage of formatting conventions is an important aspect of modern software quality assurance. While formatting convention violations can be automatically detected by format checkers implemented in linters, there is no…

Software Engineering · Computer Science 2022-08-22 Benjamin Loriot , Fernanda Madeiral , Martin Monperrus

Most programmers make mistakes when writing code. Some of these mistakes are small and require few edits to the original program -- a class of errors recently termed last mile mistakes. These errors break the flow for experienced developers…

Software Engineering · Computer Science 2022-12-06 Harshit Joshi , José Cambronero , Sumit Gulwani , Vu Le , Ivan Radicek , Gust Verbruggen

When debugging unintended program behavior, developers can often identify the point in the execution where the actual behavior diverges from the desired behavior. For example, a variable may get assigned a wrong value, which then negatively…

Software Engineering · Computer Science 2023-04-26 Islem Bouzenia , Yangruibo Ding , Kexin Pei , Baishakhi Ray , Michael Pradel

Making a slight mistake during live music performance can easily be spotted by an astute listener, even if the performance is an improvisation or an unfamiliar piece. An example might be a highly dissonant chord played by mistake in a…

Sound · Computer Science 2020-12-01 Georgi Marinov

Model transformations play an essential role in the Model-Driven Engineering paradigm. Writing a correct transformation program requires to be proficient with the source and target modeling languages, to have a clear understanding of the…

Software Engineering · Computer Science 2022-08-29 Zahra Varaminybahnemiry , Jessie Galasso , Houari Sahraoui

Users around the world rely on software-intensive systems in their day-to-day activities. These systems regularly contain bugs and security vulnerabilities. To facilitate bug fixing, data-driven models of automatic program repair use pairs…

Software Engineering · Computer Science 2022-02-08 Anastasiia Grishina

Dynamically typed programming languages such as JavaScript and Python defer type checking to run time. In order to maximize performance, dynamic language VM implementations must attempt to eliminate redundant dynamic type checks. However,…

Programming Languages · Computer Science 2015-06-01 Maxime Chevalier-Boisvert , Marc Feeley

A key challenge when statically typing so-called dynamic languages is the ubiquity of value-based overloading, where a given function can dynamically reflect upon and behave according to the types of its arguments. Thus, to establish basic…

Programming Languages · Computer Science 2015-05-01 Panagiotis Vekris , Benjamin Cosman , Ranjit Jhala

Python's typing system has evolved pragmatically into a powerful but theoretically fragmented system, with scattered specifications. This paper proposes a formalization to address this fragmentation. The central contribution is a formal…

Programming Languages · Computer Science 2025-09-17 Andrei Nacu , Dorel Lucanu

We present a new method for automatically providing feedback for introductory programming problems. In order to use this method, we need a reference implementation of the assignment, and an error model consisting of potential corrections to…

Programming Languages · Computer Science 2012-11-19 Rishabh Singh , Sumit Gulwani , Armando Solar-Lezama

Reasoning about the sensitivity of functions with respect to their inputs has interesting applications in various areas, such as differential privacy. In order to check and enforce sensitivity, several approaches have been developed,…

Programming Languages · Computer Science 2025-03-14 Damian Arquez , Matías Toro , Éric Tanter

(Note: This work is a preprint.) Static analysis (SA) tools produce many diagnostic alerts indicating that source code in C or C++ may be defective and potentially vulnerable to security exploits. Many of these alerts are false positives.…

Software Engineering · Computer Science 2025-08-06 David Svoboda , Lori Flynn , William Klieber , Michael Duggan , Nicholas Reimer , Joseph Sible
‹ Prev 1 4 5 6 7 8 10 Next ›