中文
相关论文

相关论文: PyTy: Repairing Static Type Errors in Python

200 篇论文

Grammatical error correction, like other machine learning tasks, greatly benefits from large quantities of high quality training data, which is typically expensive to produce. While writing a program to automatically generate realistic…

计算与语言 · 计算机科学 2018-10-02 Sudhanshu Kasewa , Pontus Stenetorp , Sebastian Riedel

We consider repair tasks: given a critic (e.g., compiler) that assesses the quality of an input, the goal is to train a fixer that converts a bad example (e.g., code with syntax errors) into a good one (e.g., code with no syntax errors).…

机器学习 · 计算机科学 2021-06-23 Michihiro Yasunaga , Percy Liang

Automated Program Repair (APR) aims to help developers automatically patch software bugs. However, current state-of-the-art traditional and learning-based APR techniques face the problem of limited patch variety, failing to fix complicated…

软件工程 · 计算机科学 2024-12-11 Chunqiu Steven Xia , Yuxiang Wei , Lingming Zhang

Strategy languages enable programmers to compose rewrite rules into strategies and control their application. This is useful in programming languages, e.g., for describing program transformations compositionally, but also in automated…

编程语言 · 计算机科学 2023-04-28 Rongxiao Fu , Ornela Dardha , Michel Steuwer

Correction of Noisy Natural Language Text is an important and well studied problem in Natural Language Processing. It has a number of applications in domains like Statistical Machine Translation, Second Language Learning and Natural…

数字图书馆 · 计算机科学 2016-11-25 Diptesh Chatterhee

Abstracting Gradual Typing (AGT) is a systematic approach to designing gradually-typed languages. Languages developed using AGT automatically satisfy the formal semantic criteria for gradual languages identified by Siek et al. [2015].…

编程语言 · 计算机科学 2020-11-13 Felipe Bañados Schwerter , Alison M. Clark , Khurram A. Jafery , Ronald Garcia

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…

软件工程 · 计算机科学 2024-04-01 Atsushi Shirafuji , Taku Matsumoto , Md Faizul Ibne Amin , Yutaka Watanobe

Detecting and fixing bugs are two of the most important yet frustrating parts of the software development cycle. Existing bug detection tools are based mainly on static analyzers, which rely on mathematical logic and symbolic reasoning…

计算与语言 · 计算机科学 2021-10-04 Dawn Drain , Chen Wu , Alexey Svyatkovskiy , Neel Sundaresan

Patching is a common activity in software development. It is generally performed on a source code base to address bugs or add new functionalities. In this context, given the recurrence of bugs across projects, the associated similar patches…

Automated Program Repair (APR) is a task to automatically generate patches for the buggy code. However, most research focuses on generating correct patches while ignoring the consistency between the fixed code and the original buggy code.…

软件工程 · 计算机科学 2025-03-11 Zhenlong Dai , Bingrui Chen , Zhuoluo Zhao , Xiu Tang , Sai Wu , Chang Yao , Zhipeng Gao , Jingyuan Chen

Software bugs significantly contribute to software cost and increase the risk of system malfunctioning. In recent years, many automated program-repair approaches have been proposed to automatically fix undesired program behavior. Despite of…

软件工程 · 计算机科学 2021-07-19 Dirk Beyer , Lars Grunske , Thomas Lemberger , Minxing Tang

We present Lifty, a domain-specific language for data-centric applications that manipulate sensitive data. A Lifty programmer annotates the sources of sensitive data with declarative security policies, and the language statically and…

编程语言 · 计算机科学 2020-07-02 Nadia Polikarpova , Deian Stefan , Jean Yang , Shachar Itzhaky , Travis Hance , Armando Solar-Lezama

We propose a path-based approach to program repair for imperative programs. Our repair framework takes as input a faulty program, a logic specification that is refuted, and a hint where the fault may be located. An iterative abstraction…

编程语言 · 计算机科学 2015-03-18 Heinz Riener , Rüdiger Ehlers , Görschwin Fey

This work studies gradual typing for row types and row polymorphism. Key ingredients in this work are the dynamic row type, which represents a statically unknown part of a row, and consistency for row types, which allows injecting static…

编程语言 · 计算机科学 2019-10-23 Taro Sekiyama , Atsushi Igarashi

We describe a method of automatic feedback provision for students learning programming and computational methods in Python. We have implemented, used and refined this system since 2009 for growing student numbers, and summarise the design…

计算机与社会 · 计算机科学 2015-09-14 Hans Fangohr , Neil O'Brien , Anil Prabhakar , Arti Kashyap

Some test amplification tools extend a manually created test suite with additional test cases to increase the code coverage. The technique is effective, in the sense that it suggests strong and understandable test cases, generally adopted…

软件工程 · 计算机科学 2022-07-27 Mehrdad Abdi , Henrique Rocha , Serge Demeyer , Alexandre Bergel

Many programmers, when they encounter an error, would like to have the benefit of automatic fix suggestions---as long as they are, most of the time, adequate. Initial research in this direction has generally limited itself to specific…

软件工程 · 计算机科学 2015-03-18 Yu Pei , Yi Wei , Carlo A. Furia , Martin Nordio , Bertrand Meyer

Visual instruction datasets from various distributors are released at different times and often contain a significant number of semantically redundant text-image pairs, depending on their task compositions (i.e., skills) or reference…

机器学习 · 计算机科学 2025-03-25 Adyasha Maharana , Jaehong Yoon , Tianlong Chen , Mohit Bansal

Session types are a rich type discipline, based on linear types, that lifts the sort of safety claims that come with type systems to communications. However, web-based applications and microservices are often written in a mix of languages,…

编程语言 · 计算机科学 2019-11-20 Atsushi Igarashi , Peter Thiemann , Yuya Tsuda , Vasco T. Vasconcelos , Philip Wadler

Static analysis tools are traditionally used to detect and flag programs that violate properties. We show that static analysis tools can also be used to perturb programs that satisfy a property to construct variants that violate the…