中文
相关论文

相关论文: Just-in-Time Static Type Checking for Dynamic Lang…

200 篇论文

Many object-oriented dynamic languages allow programmers to _extract methods_ from objects and treat them as functions. This allows for flexible programming patterns, but presents challenges for type systems. In particular, a simple…

编程语言 · 计算机科学 2021-11-23 Yuquan Fu , Sam Tobin-Hochstadt

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

Dynamic typing is an important feature of dynamic programming languages. Primitive operators such as those for performing arithmetic and comparisons typically operate on a wide variety of in put value types, and as such, must internally…

编程语言 · 计算机科学 2014-01-15 Maxime Chevalier-Boisvert , Marc Feeley

Large language models (LLMs) are increasingly used to generate requirements specifications, design documents, code, and test cases. In contrast, much less attention has been given to a more difficult assurance problem: statically verifying…

软件工程 · 计算机科学 2026-05-19 Zhi Quan Zhou , Dave Towey , Tsong Yueh Chen

Code review is a key development practice that contributes to improve software quality and to foster knowledge sharing among developers. However, code review usually takes time and demands detailed and time-consuming analysis of textual…

软件工程 · 计算机科学 2021-03-23 Rodrigo Brito , Marco Tulio Valente

Following the increasing popularity of mobile ecosystems, cybercriminals have increasingly targeted them, designing and distributing malicious apps that steal information or cause harm to the device's owner. Aiming to counter them,…

Erlang's dynamic typing discipline can lead to runtime errors that persist even after process restarts. Some of these runtime errors could be prevented through static type checking. While Erlang provides a type specification language, the…

编程语言 · 计算机科学 2026-03-24 Albert Schimpf , Stefan Wehr , Annette Bieniusa

Metaprogramming enables the generation of performant code, while gradual typing facilitates the smooth migration from untyped scripts to robust statically typed programs. However, combining these features with imperative state -…

编程语言 · 计算机科学 2026-02-24 Tianyu Chen , Darshal Shetty , Jeremy G. Siek , Chao-Hong Chen , Weixi Ma , Arnaud Venet , Rocky Liu

A long-standing shortcoming of statically typed functional languages is that type checking does not rule out pattern-matching failures (run-time match exceptions). Refinement types distinguish different values of datatypes; if a program…

编程语言 · 计算机科学 2020-09-22 Khurram A. Jafery , Jana Dunfield

Harnessing the power of dependently typed languages can be difficult. Programmers must manually construct proofs to produce well-typed programs, which is not an easy task. In particular, migrating code to these languages is challenging.…

编程语言 · 计算机科学 2021-07-13 Joseph Eremondi , Ronald Garcia , Éric Tanter

Python type annotations enable static type checking, but most code remains untyped because manual annotation is time-consuming and tedious. Past approaches to automatic type inference fall short: static methods struggle with dynamic…

编程语言 · 计算机科学 2026-03-12 Juan Altmayer Pizzorno , Emery D. Berger

Static bug finders have been widely-adopted by developers to find bugs in real world software projects. They leverage predefined heuristic static analysis rules to scan source code or binary code of a software project, and report violations…

软件工程 · 计算机科学 2021-12-24 Junjie Wang , Yuchao Huang , Song Wang , Qing Wang

Modern languages are equipped with static type checking/inference that helps programmers to keep a clean programming style and to reduce errors. However, the ever-growing size of programs and their continuous evolution require building fast…

编程语言 · 计算机科学 2018-11-28 Matteo Busi , Pierpaolo Degano , Letterio Galletta

Web applications written in JavaScript are regularly used for dealing with sensitive or personal data. Consequently, reasoning about their security properties has become an important problem, which is made very difficult by the highly…

编程语言 · 计算机科学 2013-02-14 Martin Lester , Luke Ong , Max Schaefer

A program that maintains key safety properties even when interacting with arbitrary untrusted code is said to enjoy \emph{robust safety}. Proving that a program written in a mainstream language is robustly safe is typically challenging…

编程语言 · 计算机科学 2022-05-16 Marco Patrignani , Sam Blackshear

Benefits of static type systems are well-known: they offer guarantees that no type error will occur during runtime and, inherently, inferred types serve as documentation on how functions are called. On the other hand, many type systems have…

编程语言 · 计算机科学 2020-08-31 Isabel Wingen , Philipp Körner

TypeScript is a quickly evolving superset of JavaScript with active development of new features. Our paper seeks to understand how quickly these features are adopted by the developer community. Existing work in JavaScript shows the adoption…

软件工程 · 计算机科学 2023-03-20 Joshua D. Scarsbrook , Mark Utting , Ryan K. L. Ko

Motivation: Automated bug detection in dynamically typed languages such as Python is essential for maintaining code quality. The lack of mandatory type annotations in such languages can lead to errors that are challenging to identify early…

软件工程 · 计算机科学 2025-01-17 Boqi Chen , José Antonio Hernández López , Gunter Mussbacher , Dániel Varró

Gradually-typed programming languages permit the incremental addition of static types to untyped programs. To remain sound, languages insert run-time checks at the boundaries between typed and untyped code. Unfortunately, performance…

编程语言 · 计算机科学 2020-10-13 Cameron Moy , Phúc C. Nguyen , Sam Tobin-Hochstadt , David Van Horn

Go is a popular concurrent programming language thanks to its ability to efficiently combine concurrency and systems programming. In Go programs, a number of concurrency bugs can be caused by a mixture of data races and communication…

编程语言 · 计算机科学 2021-11-22 Julia Gabet , Nobuko Yoshida