中文
相关论文

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

200 篇论文

Dynamically typed programming languages such as Python and JavaScript defer type checking to run time. VM implementations can improve performance by eliminating redundant dynamic type checks. However, type inference analyses are often…

编程语言 · 计算机科学 2015-11-11 Maxime Chevalier-Boisvert , Marc Feeley

Bugs that are detected earlier during the development lifecycle are easier and cheaper to fix, whereas bugs that are found during production are difficult and expensive to address, and may have dire consequences. Type systems are…

编程语言 · 计算机科学 2021-10-12 Catarina Gamboa , Paulo Alexandre Santos , Christopher S. Timperley , Alcides Fonseca

ReScript introduces a strongly typed language that targets JavaScript, as an alternative to gradually typed languages, such as TypeScript. In this paper, we present a type system for data-flow analysis for a subset of the ReScript language,…

编程语言 · 计算机科学 2024-08-23 Nicky Ask Lund , Hans Hüttel

Bug prediction aims at finding source code elements in a software system that are likely to contain defects. Being aware of the most error-prone parts of the program, one can efficiently allocate the limited amount of testing and code…

软件工程 · 计算机科学 2024-05-14 Gábor Antal , Zoltán Tóth , Péter Hegedűs , Rudolf Ferenc

The amount of Android malware has increased greatly during the last few years. Static analysis is widely used in detecting such malware by analyzing the code without execution. The effectiveness of current tools relies on the app model as…

密码学与安全 · 计算机科学 2016-04-11 Mohsin Junaid , Donggang Liu , David Kung

Rust is a modern programming language that guarantees memory safety and the absence of data races with a strong type system. We present RustyDL, a program logic for Rust, as a foundation for an auto-interactive, deductive verification tool…

编程语言 · 计算机科学 2026-02-26 Daniel Drodt , Reiner Hähnle

A key challenge when statically typing so-called dynamic languages is the ubiquity of value-based overloading, where a given function can dynamically reflect upon and behave according to the types of its arguments. Thus, to establish basic…

编程语言 · 计算机科学 2015-05-01 Panagiotis Vekris , Benjamin Cosman , Ranjit Jhala

Gradual typing enables developers to annotate types of their own choosing, offering a flexible middle ground between no type annotations and a fully statically typed language. As more and more code bases get type-annotated, static type…

软件工程 · 计算机科学 2024-01-15 Yiu Wai Chow , Luca Di Grazia , Michael Pradel

Designing a language feature often requires a choice between several, similarly expressive possibilities. Given that user studies are generally impractical, we propose using stability as a way of making such decisions. Stability is a…

编程语言 · 计算机科学 2021-07-06 Gert-Jan Bottu , Richard A. Eisenberg

With distributed computing becoming ubiquitous in the modern era, safe distributed programming is an open challenge. To address this, multiparty session types (MPST) provide a typing discipline for message-passing concurrency, guaranteeing…

编程语言 · 计算机科学 2020-09-15 Fangyi Zhou , Francisco Ferreira , Raymond Hu , Rumyana Neykova , Nobuko Yoshida

Static analysis tools, or linters, detect violation of source code conventions to maintain project readability. Those tools automatically fix specific violations while developers edit the source code. However, existing tools are designed…

软件工程 · 计算机科学 2020-05-25 Yuki Ueda , Takashi Ishio , Akinori Ihara , Kenichi Matsumoto

Static type errors are a common stumbling block for newcomers to typed functional languages. We present a dynamic approach to explaining type errors by generating counterexample witness inputs that illustrate how an ill-typed program goes…

编程语言 · 计算机科学 2018-03-20 Eric L Seidel , Ranjit Jhala , Westley Weimer

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

Dynamic race detection based on the happens before (HB) partial order has now become the de facto approach to quickly identify data races in multi-threaded software. Most practical implementations for detecting these races use timestamps to…

编程语言 · 计算机科学 2025-04-10 Minjian Zhang , Daniel Wee Soong Lim , Mosaad Al Thokair , Umang Mathur , Mahesh Viswanathan

Type soundness is an important property of modern programming languages. In this paper we explore the idea that "well-typed languages are sound": the idea that the appropriate typing discipline over language specifications guarantees that…

编程语言 · 计算机科学 2016-11-17 Matteo Cimini , Dale Miller , Jeremy G. Siek

Modern software relies on a multitude of automated testing and quality assurance tools to prevent errors, bugs and potential vulnerabilities. This study sets out to provide a head-to-head, quantitative and qualitative evaluation of six…

软件工程 · 计算机科学 2025-08-07 Damian Gnieciak , Tomasz Szandala

A new style of temporal debugging is proposed. The new URDB debugger can employ such techniques as temporal search for finding an underlying fault that is causing a bug. This improves on the standard iterative debugging style, which…

操作系统 · 计算机科学 2009-10-28 Ana Maria Visan , Artem Polyakov , Praveen S. Solanki , Kapil Arya , Tyler Denniston , Gene Cooperman

When writing programs involving matrices or tensors in general, it is desirable to rule out the inconsistency of tensor shapes (i.e., the generalization of matrix sizes) before actual computation. For this purpose, some languages provide…

编程语言 · 计算机科学 2026-04-28 Takashi Suwa , Atsushi Igarashi

The Android OS has become the most popular mobile operating system leading to a significant increase in the spread of Android malware. Consequently, several static and dynamic analysis systems have been developed to detect Android malware.…

密码学与安全 · 计算机科学 2017-05-19 Mohammed K. Alzaylaee , Suleiman Y. Yerima , Sakir Sezer

Automated Program Repair (APR) has advanced rapidly with Large Language Models (LLMs), but most existing methods remain computationally expensive, and focused on a small set of languages. Ruby, despite its widespread use in web development…

软件工程 · 计算机科学 2025-11-07 Nikta Akbarpour , Mahdieh Sadat Benis , Fatemeh Hendijani Fard , Ali Ouni , Mohamed Aymen Saied