English
Related papers

Related papers: PyTy: Repairing Static Type Errors in Python

200 papers

Statically typed languages offer significant advantages, such as bug prevention, enhanced code quality, and reduced maintenance costs. However, these benefits often come at the expense of a steep learning curve and a slower development…

Human-Computer Interaction · Computer Science 2024-05-22 Shuai Fu , Tim Dwyer , Peter J. Stuckey , John Grundy

Gradually typed languages are designed to support both dynamically typed and statically typed programming styles while preserving the benefits of each. While existing gradual type soundness theorems for these languages aim to show that…

Programming Languages · Computer Science 2018-11-07 Max S. New , Daniel R. Licata , Amal Ahmed

Current approaches for fixing systematic problems in NLP models (e.g. regex patches, finetuning on more data) are either brittle, or labor-intensive and liable to shortcuts. In contrast, humans often provide corrections to each other…

Computation and Language · Computer Science 2022-11-22 Shikhar Murty , Christopher D. Manning , Scott Lundberg , Marco Tulio Ribeiro

Context: Static analyses are well-established to aid in understanding bugs or vulnerabilities during the development process or in large-scale studies. A low false-positive rate is essential for the adaption in practice and for precise…

Software Engineering · Computer Science 2024-03-13 Anna-Katharina Wickert , Michael Schlichtig , Marvin Vogel , Lukas Winter , Mira Mezini , Eric Bodden

With the rise of software-as-a-service and microservice architectures, RESTful APIs are now ubiquitous in mobile and web applications. A service can have tens or hundreds of API methods, making it a challenge for programmers to find the…

Programming Languages · Computer Science 2022-04-06 Zheng Guo , David Cao , Davin Tjong , Jean Yang , Cole Schlesinger , Nadia Polikarpova

We systematically study the quality of 4,066 ChatGPT-generated code implemented in two popular programming languages, i.e., Java and Python, for 2,033 programming tasks. The goal of this work is three folds. First, we analyze the…

Software Engineering · Computer Science 2023-12-18 Yue Liu , Thanh Le-Cong , Ratnadira Widyasari , Chakkrit Tantithamthavorn , Li Li , Xuan-Bach D. Le , David Lo

Mixed-typed languages enable programmers to link typed and untyped components in various ways. Some offer rich type systems to facilitate the smooth migration of untyped code to the typed world; others merely provide a convenient form of…

Programming Languages · Computer Science 2021-11-23 Ben Greenman , Lukas Lazarek , Christos Dimoulas , Matthias Felleisen

QuaPy is an open-source framework for performing quantification (a.k.a. supervised prevalence estimation), written in Python. Quantification is the task of training quantifiers via supervised learning, where a quantifier is a predictor that…

Machine Learning · Computer Science 2021-06-22 Alejandro Moreo , Andrea Esuli , Fabrizio Sebastiani

Automated program repair (APR) aims to fix software bugs automatically without human debugging efforts and plays a crucial role in software development and maintenance. Despite promising, APR is still challenged by a long-standing…

Software Engineering · Computer Science 2024-01-17 Quanjun Zhang , Chunrong Fang , Weisong Sun , Yan Liu , Tieke He , Xiaodong Hao , Zhenyu Chen

Machine learning-based program analyses have recently shown the promise of integrating formal and probabilistic reasoning towards aiding software development. However, in the absence of large annotated corpora, training these analyses is…

Machine Learning · Computer Science 2021-11-17 Miltiadis Allamanis , Henry Jackson-Flux , Marc Brockschmidt

Programming languages like P4 enable specifying the behavior of network data planes in software. However, with increasingly powerful and complex applications running in the network, the risk of faults also increases. Hence, there is growing…

Programming Languages · Computer Science 2022-06-08 Matthias Eichholz , Eric Hayden Campbell , Matthias Krebs , Nate Foster , Mira Mezini

One form of type checking used in gradually typed language is transient type checking: whenever an object 'flows' through code with a type annotation, the object is dynamically checked to ensure it has the methods required by the…

Programming Languages · Computer Science 2019-09-13 Isaac Oscar Gariano , Richard Roberts , Stefan Marr , Michael Homer , James Noble

Programmers often struggle to identify and fix bugs in their programs. In recent years, many language models (LMs) have been proposed to fix erroneous programs and support error recovery. However, the LMs tend to generate solutions that…

Computation and Language · Computer Science 2023-12-27 Atsushi Shirafuji , Md. Mostafizer Rahman , Md Faizul Ibne Amin , Yutaka Watanobe

OpenAI's Codex, a GPT-3 like model trained on a large code corpus, has made headlines in and outside of academia. Given a short user-provided description, it is capable of synthesizing code snippets that are syntactically and semantically…

Software Engineering · Computer Science 2021-11-09 Julian Aron Prenner , Romain Robbes

Python is widely used in the open-source community, largely owing to the extensive support from diverse third-party libraries within the PyPI ecosystem. Nevertheless, the utilization of third-party libraries can potentially lead to…

Software Engineering · Computer Science 2024-01-08 Yun Peng , Ruida Hu , Ruoke Wang , Cuiyun Gao , Shuqing Li , Michael R. Lyu

Jupyter notebooks enable developers to interleave code snippets with rich-text and in-line visualizations. Data scientists use Jupyter notebook as the de-facto standard for creating and sharing machine-learning based solutions, primarily…

Software Engineering · Computer Science 2024-06-12 Ashwin Prasad Shivarpatna Venkatesh , Samkutty Sabu , Mouli Chekkapalli , Jiawei Wang , Li Li , Eric Bodden

Real bug fixes found in open source repositories seem to be the perfect source for learning to localize and repair real bugs. However, the absence of large scale bug fix collections has made it difficult to effectively exploit real bug…

Software Engineering · Computer Science 2022-07-04 Cedric Richter , Heike Wehrheim

Producing high-quality code is essential as it makes a codebase more maintainable, reducing the cost and effort associated with a project. However, students learning to program are often given short, automatically graded programming tasks…

Computers and Society · Computer Science 2024-10-28 Etienne Naude , Paul Denny , Andrew Luxton-Reilly

Due to increasingly complex software design and rapid iterative development, code defects and security vulnerabilities are prevalent in modern software. In response, programmers rely on static analysis tools to regularly scan their…

Software Engineering · Computer Science 2022-03-21 Anant Kharkar , Roshanak Zilouchian Moghaddam , Matthew Jin , Xiaoyu Liu , Xin Shi , Colin Clement , Neel Sundaresan

Malicious Python packages make software supply chains vulnerable by exploiting trust in open-source repositories like Python Package Index (PyPI). Lack of real-time behavioral monitoring makes metadata inspection and static code analysis…

Cryptography and Security · Computer Science 2025-03-04 Sk Tanzir Mehedi , Chadni Islam , Gowri Ramachandran , Raja Jurdak
‹ Prev 1 8 9 10 Next ›