• Home
  • Search
  • Always-available static and dynamic feedback
  • Cite Icon25
  • https://doi.org/10.1145/1985793.1985864Copy DOI Icon

Always-available static and dynamic feedback

  • May 21, 2011
  • Michael Bayne +2 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Developers who write code in a statically typed language are denied the ability to obtain dynamic feedback by executing their code during periods when it fails the static type checker. They are further confined to the static typing discipline during times in the development process where it does not yield the highest productivity. If they opt instead to use a dynamic language, they forgo the many benefits of static typing, including machine-checked documentation, improved correctness and reliability, tool support (such as for refactoring), and better runtime performance. We present a novel approach to giving developers the benefits of both static and dynamic typing, throughout the development process, and without the burden of manually separating their program into statically and dynamically-typed parts. Our approach, which is intended for temporary use during the development process, relaxes the static type system and provides a semantics for many type-incorrect programs. It defers type errors to run time, or suppresses them if they do not affect runtime semantics. We implemented our approach in a publicly available tool, DuctileJ, for the Java language. In case studies, DuctileJ conferred benefits both during prototyping and during the evolution of existing code.

Similar Papers
  • Research Article
  • Citations5

Static vs. dynamic type systems

  • Oct 24, 2011
  • ACM SIGPLAN Notices
  • Andreas Stuchlik +1
  • Conference Article
  • Citations14

An empirical investigation of the effects of type systems and code completion on API usability using TypeScript and JavaScript in MS visual studio

  • Oct 21, 2015
  • Lars Fischer +1
  • Book Chapter
  • Citations5

Achieving Multiple Dispatch in Hybrid Statically and Dynamically Typed Languages

  • Jan 01, 2013
  • Francisco Ortin +3
  • Book Chapter
  • Citations34

Adding Dynamic Types to C $^\sharp$

  • Jan 01, 2010
  • Gavin Bierman +2
  • PDF
  • Research Article
  • Citations12

Abstracting gradual typing moving forward: precise and space-efficient

  • Jan 04, 2021
  • Proceedings of the ACM on Programming Languages
  • Felipe Bañados Schwerter +3
  • Conference Article
  • Citations15

Python Interpreter Performance Deconstructed

  • Jun 09, 2014
  • Gergö Barany
  • Conference Article
  • Citations36

Checked Load: Architectural support for JavaScript type-checking on mobile processors

  • Feb 01, 2011
  • Owen Anderson +3
  • Conference Article
  • Citations9

Typed First-Class Traits

  • Jan 01, 2018
  • DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)
  • Xuan Bi +1
  • Conference Article
  • Citations9

Typing the wild in Erlang

  • Sep 29, 2018
  • Nachiappan Valliappan +1
  • Conference Article
  • Citations7

Trust, but Verify: Two-Phase Typing for Dynamic Languages

  • Jun 26, 2015
  • DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)
  • Panagiotis Vekris +2
  • Research Article
  • Citations49

The ins and outs of gradual type inference

  • Jan 18, 2012
  • ACM SIGPLAN Notices
  • Aseem Rastogi +2
  • Conference Article
  • Citations66

Gradual typing for first-class classes

  • Oct 19, 2012
  • Asumu Takikawa +4
  • Book Chapter
  • Citations227

Towards Type Inference for JavaScript

  • Jan 01, 2005
  • Christopher Anderson +2
  • Conference Article
  • Citations28

Interpretations of the gradually-typed lambda calculus

  • Sep 09, 2012
  • Jeremy G Siek +1
  • Research Article
  • Citations26

Temporary use and brownfield regeneration in post-socialist context: from bottom-up governance to artists exploitation

  • Jul 17, 2019
  • European Planning Studies
  • Vojtěch Bosák +3
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.