paperbot · PL 论文追踪

RSS

Navigating Mixed-Typed Migration with Profilers

TOPLAS 48(1)2026
Nathaniel Hejduk, Ben Greenman, Matthias Felleisen, Christos Dimoulas

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(Abstract)

The component-by-component migration of a program from untyped to typed can trigger unintended performance degradations. When such a degradation occurs, typing well-chosen components can lessen the cost of type enforcement, while typing poorly chosen components can exacerbate it. This article examines whether off-the-shelf profiling tools deliver information that is an effective guide for navigating these migration choices in Typed Racket. Using the rational-programmer method, the article tests this hypothesis with an experiment that involves tens of thousands of performance-debugging scenarios, two different profiler types, and 23 strategies that convert profiler output to migration choices. The most effective strategy relies on a boundary profiler to identify the costliest inter-component boundary and then adds deeply enforced types to both sides. When the output of this profiler fails to identify a boundary, the strategy takes a random migration step—similar to the way many computational approaches resort temporarily to random choices to avoid getting stuck. The strategy completely eliminates the cost of run-time type checks in more than half of the scenarios if at most two performance degradations are tolerable along the way.

链接与引用

DOI 原文 ·

BibTeX
@article{paperbot3962,
  title = {Navigating Mixed-Typed Migration with Profilers},
  author = {Nathaniel Hejduk and Ben Greenman and Matthias Felleisen and Christos Dimoulas},
  journal = {ACM Transactions on Programming Languages and Systems},
  volume = {48},
  number = {1},
  year = {2026},
  doi = {10.1145/3785004}
}