Type regression testing to detect breaking changes in Node. js libraries

G Mezzetti, A Møller, MT Torp - 32nd european conference on …, 2018 - drops.dagstuhl.de
The npm repository contains JavaScript libraries that are used by millions of software
developers. Its semantic versioning system relies on the ability to distinguish between …

Big types in little runtime: Open-world soundness and collaborative blame for gradual type systems

MM Vitousek, C Swords, JG Siek - ACM SIGPLAN Notices, 2017 - dl.acm.org
Gradual typing combines static and dynamic typing in the same language, offering
programmers the error detection and strong guarantees of static types and the rapid …

Automatically generating the dynamic semantics of gradually typed languages

M Cimini, JG Siek - Proceedings of the 44th ACM SIGPLAN Symposium …, 2017 - dl.acm.org
Many language designers have adopted gradual typing. However, there remains open
questions regarding how to gradualize languages. Cimini and Siek (2016) created a …

Highly illogical, Kirk: spotting type mismatches in the large despite broken contracts, unsound types, and too many linters

J Hoeflich, RB Findler, M Serrano - Proceedings of the ACM on …, 2022 - dl.acm.org
The DefinitelyTyped repository hosts type declarations for thousands of JavaScript libraries.
Given the lack of formal connection between the types and the corresponding code, a …

Typed–Untyped Interactions: A Comparative Analysis

B Greenman, C Dimoulas, M Felleisen - ACM Transactions on …, 2023 - dl.acm.org
The literature presents many strategies for enforcing the integrity of types when typed code
interacts with untyped code. This article presents a uniform evaluation framework that …

Merging Gradual Typing

W Ye, BCS Oliveira, M Toro - Proceedings of the ACM on Programming …, 2024 - dl.acm.org
Programming language mechanisms with a type-directed semantics are nowadays common
and widely used. Such mechanisms include gradual typing, type classes, implicits and …

Deep and shallow types

B Greenman - 2020 - search.proquest.com
The design space of mixed-typed languages is lively but disorganized. On one hand,
researchers across academia and industry have contributed language designs that allow …

TreatJS: Higher-order contracts for JavaScript

M Keil, P Thiemann - arXiv preprint arXiv:1504.08110, 2015 - arxiv.org
TreatJS is a language embedded, higher-order contract system for JavaScript which
enforces contracts by run-time monitoring. Beyond providing the standard abstractions for …

Reptor: Enabling api virtualization on android for platform openness

T Ki, A Simeonov, BP Jain, CM Park, K Sharma… - Proceedings of the 15th …, 2017 - dl.acm.org
This paper proposes a new technique that enables open innovation in mobile platforms. Our
technique allows third-party developers to modify, instrument, or extend platform API calls …

Dynamic property caches: a step towards faster JavaScript proxy objects

M Serrano, RB Findler - … of the 29th International Conference on …, 2020 - dl.acm.org
Inline caches and hidden classes are two essential components for closing the performance
gap between static languages such as Java, Scheme, or ML and dynamic languages such …