中文
相关论文

相关论文: Extending Basic Block Versioning with Typed Object…

200 篇论文

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

Refinement types turn typechecking into lightweight verification. The classic form of refinement type is the datasort refinement, in which datasorts identify subclasses of inductive datatypes. Existing type systems for datasort refinements…

编程语言 · 计算机科学 2020-11-17 Jana Dunfield

In today's software development landscape, the extent to which Java applications utilize object-oriented programming paradigm remains a subject of interest. Although some researches point to the considerable overhead associated with object…

软件工程 · 计算机科学 2024-10-10 Vladimir Zakharov , Yegor Bugayenko

Dynamic languages such as Ruby, Python, and JavaScript have many compelling benefits, but the lack of static types means subtle errors can remain latent in code for a long time. While many researchers have developed various systems to bring…

编程语言 · 计算机科学 2016-04-14 Brianna M. Ren , Jeffrey S. Foster

The verification community has studied dynamic data structures primarily in a bottom-up way by analyzing pointers and the shapes induced by them. Recent work in fields such as separation logic has made significant progress in extracting…

编程语言 · 计算机科学 2014-07-10 Diego Calvanese , Tomer Kotek , Mantas Šimkus , Helmut Veith , Florian Zuleger

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

Dynamically typed object-oriented languages enable programmers to write elegant, reusable and extensible programs. However, with the current methodology for program verification, the absence of static type information creates significant…

编程语言 · 计算机科学 2015-01-13 Björn Engelmann , Ernst-Rüdiger Olderog , Nils Erik Flick

We study the problem of finding incorrect property accesses in JavaScript where objects do not have a fixed layout, and properties (including methods) can be added, overwritten, and deleted freely throughout the lifetime of an object. Since…

软件工程 · 计算机科学 2023-06-16 Ellen Arteca , Max Schäfer , Frank Tip

In dependently typed programming, proofs of basic, structural properties can be embedded implicitly into programs and do not need to be written explicitly. Besides saving the effort of writing separate proofs, a most distinguishing and…

编程语言 · 计算机科学 2021-03-09 Hsiang-Shang Ko

This paper introduces a new hybrid memory analysis, Structural Analysis, which combines an expressive shape analysis style abstract domain with efficient and simple points-to style transfer functions. Using data from empirical studies on…

编程语言 · 计算机科学 2012-01-06 Mark Marron

The performance of value classes is highly dependent on how they are represented in the virtual machine. Value class instances are immutable, have no identity, and can only refer to other value objects or primitive values and since they…

编程语言 · 计算机科学 2016-08-30 Tobias Pape , Carl Friedrich Bolz , Robert Hirschfeld

Data intensive workloads have become a popular use of HPC in recent years and the question of how data scientists, who might not be HPC experts, can effectively program these machines is important to address. Whilst using models such as…

编程语言 · 计算机科学 2020-09-29 Nick Brown

Algebraic Data Types (ADTs) are an increasingly common feature in modern programming languages. In many implementations, values of non-nullary, multi-case ADTs are allocated on the heap, which may reduce performance and increase memory…

编程语言 · 计算机科学 2024-10-16 Bradley Wei Jie Teo , Ben L. Titzer

We present Refined TypeScript (RSC), a lightweight refinement type system for TypeScript, that enables static verification of higher-order, imperative programs. We develop a formal core of RSC that delineates the interaction between…

编程语言 · 计算机科学 2016-04-12 Panagiotis Vekris , Benjamin Cosman , Ranjit Jhala

Refinement types decorate types with assertions that enable automatic verification. Like assertions, refinements are limited to binders that are in scope, and hence, cannot express higher-order specifications. Ghost variables circumvent…

编程语言 · 计算机科学 2021-05-06 Anish Tondwalkar , Matthew Kolosick , Ranjit Jhala

Maintaining large code bases written in dynamically typed languages, such as JavaScript or Python, can be challenging due to the absence of type annotations: simple data compatibility errors proliferate, IDE support is limited, and APIs are…

软件工程 · 计算机科学 2020-03-09 Michael Pradel , Georgios Gousios , Jason Liu , Satish Chandra

In this paper we use pre existing language support for type modifiers and object capabilities to enable a system for sound runtime verification of invariants. Our system guarantees that class invariants hold for all objects involved in…

编程语言 · 计算机科学 2019-02-28 Isaac Oscar Gariano , Marco Servetto , Alex Potanin

Language constructs inspired by functional programming have made their way into most mainstream programming languages. Many researchers and developers consider that these constructs lead to programs that are more concise, reusable, and…

软件工程 · 计算机科学 2022-06-20 Fernando Alves , Delano Oliveira , Fernanda Madeiral , Fernando Castor

Finite-state models are ubiquitous in the study of concurrent systems, especially controllers and servers that operate in a repetitive cycle. In this paper, we show how to extract finite state models from a run of a multi-threaded Java…

软件工程 · 计算机科学 2024-07-26 KP Jevitha , Bharat Jayaraman , M Sethumadhavan

We present a new type system combining occurrence typing, previously used to type check programs in dynamically-typed languages such as Racket, JavaScript, and Ruby, with dependent refinement types. We demonstrate that the addition of…

编程语言 · 计算机科学 2016-10-05 Andrew M. Kent , David Kempe , Sam Tobin-Hochstadt