English
Related papers

Related papers: Typify: A Lightweight Usage-driven Static Analyzer…

200 papers

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

Gradually-typed languages feature a dynamic type that supports implicit coercions, greatly weakening the type system but making types easier to adopt. Understanding how developers use this dynamic type is a critical question for the design…

Programming Languages · Computer Science 2025-03-13 Dibri Nsofor , Ben Greenman

Gradual typing enables programmers to combine static and dynamic typing in the same language. However, ensuring a sound interaction between the static and dynamic parts can incur significant runtime cost. In this paper, we perform a…

Programming Languages · Computer Science 2019-02-22 Michael M. Vitousek , Jeremy G. Siek , Avik Chaudhuri

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

Dynamically typed languages such as Python have become very popular. Among other strengths, Python's dynamic nature and its straightforward linking to native code have made it the de-facto language for many research areas such as Artificial…

Programming Languages · Computer Science 2023-01-13 Wenting Zhao , Ibrahim Abdelaziz , Julian Dolby , Kavitha Srinivas , Mossad Helali , Essam Mansour

Static analyses based on typestates are important in certifying correctness of code contracts. Such analyses rely on Deterministic Finite Automata (DFAs) to specify properties of an object. We target the analysis of contracts in low-latency…

Programming Languages · Computer Science 2022-07-19 Alen Arslanagić , Pavle Subotić , Jorge A. Pérez

As gradual typing becomes increasingly popular in languages like Python and TypeScript, there is a growing need to infer type annotations automatically. While type annotations help with tasks like code completion and static error catching,…

Programming Languages · Computer Science 2020-05-06 Jiayi Wei , Maruth Goyal , Greg Durrett , Isil Dillig

We introduce a new compile-time notion of type subsumption based on type simulation. We show how to apply this static subsumption relation to support a more intuitive, object oriented approach to generic programming of reusable, high…

Programming Languages · Computer Science 2011-02-17 Wouter Kuijper , Michael Weber

In Bayesian hierarchical models, group-level parameter arrays must be mapped to the observation axis, often using explicit indexing. In complex models with numerous incompatible data and parameter sets, this introduces the potential for…

Computation · Statistics 2025-10-31 Daniel O'Hanlon

As Python is increasingly being adopted for large and complex programs, the importance of static analysis for Python (such as type inference) grows. Unfortunately, static analysis for Python remains a challenging task due to its dynamic…

Programming Languages · Computer Science 2026-05-28 Ingkarat Rak-amnouykit , Ana Milanova , Guillaume Baudart , Martin Hirzel , Julian Dolby

Many important security properties can be formulated in terms of flows of tainted data, and improved taint analysis tools to prevent such flows are of critical need. Most existing taint analyses use whole-program static analysis, leading to…

Programming Languages · Computer Science 2025-05-02 Nima Karimipour , Kanak Das , Manu Sridharan , Behnaz Hassanshahi

Python's dynamic typing system offers flexibility and expressiveness but can lead to type-related errors, prompting the need for automated type inference to enhance type hinting. While existing learning-based approaches show promising…

Software Engineering · Computer Science 2024-08-14 Chong Wang , Jian Zhang , Yiling Lou , Mingwei Liu , Weisong Sun , Yang Liu , Xin Peng

Recent text-to-image models can generate high-quality images from natural-language prompts, yet controlling typography remains challenging: requested typographic appearance is often ignored or only weakly followed. We address this…

Computer Vision and Pattern Recognition · Computer Science 2026-03-09 Xia Xin , Yuki Endo , Yoshihiro Kanamori

Python's dynamic typing mechanism, while promoting flexibility, is a significant source of runtime type errors that plague large-scale software, which inspires the automatic type inference techniques. Existing type inference tools have…

Software Engineering · Computer Science 2025-12-29 Shuo Sun , Shixin Zhang , Jiwei Yan , Jun Yan , Jian Zhang

Type inference over partial contexts in dynamically typed languages is challenging. In this work, we present a graph neural network model that predicts types by probabilistically reasoning over a program's structure, names, and patterns.…

Programming Languages · Computer Science 2020-04-23 Miltiadis Allamanis , Earl T. Barr , Soline Ducousso , Zheng Gao

Context: Gradually-typed languages allow typed and untyped code to interoperate, but typically come with significant drawbacks. In some languages, the types are unreliable; in others, communication across type boundaries can be extremely…

Programming Languages · Computer Science 2022-06-29 Kuang-Chen Lu , Ben Greenman , Carl Meyer , Dino Viehland , Aniket Panse , Shriram Krishnamurthi

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

Pattern matching is a powerful tool for symbolic computations. Applications include term rewriting systems, as well as the manipulation of symbolic expressions, abstract syntax trees, and XML and JSON data. It also allows for an intuitive…

Programming Languages · Computer Science 2017-10-09 Manuel Krebber , Henrik Barthels , Paolo Bientinesi

We present a new approach to the type inference problem for dynamic languages. Our goal is to combine \emph{logical} constraints, that is, deterministic information from a type system, with \emph{natural} constraints, that is, uncertain…

Programming Languages · Computer Science 2021-03-30 Irene Vlassi Pandi , Earl T. Barr , Andrew D. Gordon , Charles Sutton

Python has become the de-facto language for training deep neural networks, coupling a large suite of scientific computing libraries with efficient libraries for tensor computation such as PyTorch or TensorFlow. However, when models are used…

Machine Learning · Computer Science 2021-04-02 Zachary DeVito , Jason Ansel , Will Constable , Michael Suo , Ailing Zhang , Kim Hazelwood