中文
相关论文

相关论文: Simple and Effective Type Check Removal through La…

200 篇论文

State of the art optimisation passes for dependently typed languages can help erase the redundant information typical of invariant-rich data structures and programs. These automated processes do not dramatically change the structure of the…

编程语言 · 计算机科学 2023-01-06 Guillaume Allais

Static analysis tools come in many forms andconfigurations, allowing them to handle various tasks in a (secure) development process: code style linting, bug/vulnerability detection, verification, etc., and adapt to the specific requirements…

Dynamically typed programming languages are popular in education and the software industry. While presenting a low barrier to entry, they suffer from run-time type errors and longer-term problems in code quality and maintainability.…

人机交互 · 计算机科学 2023-03-20 Shuai Fu , Tim Dwyer , Peter J. Stuckey , Jackson Wain , Jesse Linossier

Type migration is the process of adding types to untyped code to gain assurance at compile time. TypeScript and other gradual type systems facilitate type migration by allowing programmers to start with imprecise types and gradually…

软件工程 · 计算机科学 2023-07-12 Ming-Ho Yee , Arjun Guha

Our scientific knowledge is increasingly built on software output. User code which defines data analysis pipelines and computational models is essential for research in the natural and social sciences, but little is known about how to…

软件工程 · 计算机科学 2020-03-16 Maxwell Shinn

Strong static type systems help programmers eliminate many errors without much burden of supplying type annotations. However, this flexibility makes it highly non-trivial to diagnose ill-typed programs, especially for novice programmers.…

编程语言 · 计算机科学 2022-10-10 Chuqin Geng , Haolin Ye , Yixuan Li , Tianyu Han , Brigitte Pientka , Xujie Si

Convertibility checking - determining whether two lambda-terms are equal up to reductions - is a crucial component of proof assistants and dependently-typed languages. Practical implementations often use heuristics to quickly conclude that…

计算机科学中的逻辑 · 计算机科学 2026-01-12 Nathanaëlle Courant , Xavier Leroy

The JavaScript programming language, which began as a simple scripting language for the Web, has become ubiquitous, spanning desktop, mobile, and server applications. This increase in usage has made JavaScript an attractive target for…

密码学与安全 · 计算机科学 2024-10-29 José Miguel Moreno , Narseo Vallina-Rodriguez , Juan Tapiador

Large Language Models (LLMs) exhibit enhanced capabilities by Chain-of-Thought reasoning. However, the extended reasoning sequences introduce significant GPU memory overhead due to increased key-value (KV) cache. Existing KV cache…

机器学习 · 计算机科学 2025-10-16 Haoyue Zhang , Hualei Zhang , Xiaosong Ma , Jie Zhang , Song Guo

This study examined code issue detection and revision automation by integrating Large Language Models (LLMs) such as OpenAI's GPT-3.5 Turbo and GPT-4o into software development workflows. A static code analysis framework detects issues such…

软件工程 · 计算机科学 2025-06-13 Seyed Moein Abtahi , Akramul Azim

Static analysis, the process of examining code without executing it, is crucial for identifying software issues. Yet, static analysis is hampered by its complexity and the need for customization for different targets. Traditional static…

软件工程 · 计算机科学 2023-12-15 Yu Hao , Weiteng Chen , Ziqiao Zhou , Weidong Cui

Today's programmers face a false choice between creating software that is extensible and software that is correct. Specifically, dynamic languages permit software that is richly extensible (via dynamic code loading, dynamic object…

编程语言 · 计算机科学 2016-08-23 Matthew A. Hammer , Bor-Yuh Evan Chang , David Van Horn

Meta-compiler frameworks, such as RPython and Graal/Truffle, generate high-performance virtual machines (VMs) from interpreter definitions. Although they generate VMs with high-quality just-in-time (JIT) compilers, they still lack an…

编程语言 · 计算机科学 2025-07-04 Yusuke Izawa , Hidehiko Masuhara , Carl Friedrich Bolz-Tereick

Gradual typing has gained popularity as a design choice for integrating static and dynamic typing within a single language. Several practical languages have adopted gradual typing to offer programmers the flexibility to annotate their…

编程语言 · 计算机科学 2026-03-09 Senxi Li , Feng Dai , Tetsuro Yamazaki , Shigeru Chiba

Attacks against computer systems exploiting software vulnerabilities can cause substantial damage to the cyber-infrastructure of our modern society and economy. To minimize the consequences, it is vital to detect and fix vulnerabilities as…

软件工程 · 计算机科学 2023-04-18 Son Nguyen , Thu-Trang Nguyen , Thanh Trong Vu , Thanh-Dat Do , Kien-Tuan Ngo , Hieu Dinh Vo

Context: Just-in-Time (JIT) compilers are able to specialize the code they generate according to a continuous profiling of the running programs. This gives them an advantage when compared to Ahead-of-Time (AoT) compilers that must choose…

编程语言 · 计算机科学 2025-03-03 Aurore Poirier , Erven Rohou , Manuel Serrano

Probabilistic programming languages are valuable because they allow domain experts to express probabilistic models and inference algorithms without worrying about irrelevant details. However, for decades there remained an important and…

编程语言 · 计算机科学 2019-07-03 Rajan Walia , Praveen Narayanan , Jacques Carette , Sam Tobin-Hochstadt , Chung-chieh Shan

Many modern virtual machines, such as JVMs, .NET Framework, and V8, employ a just-in-time (JIT) compiler to achieve their high-performance. There are two major compilation strategies; trace-based compilation and method-based compilation.…

编程语言 · 计算机科学 2020-12-01 Yusuke Izawa , Hidehiko Masuhara

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

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