How to evaluate blame for gradual types

Lukas Lazarek, Ben Greenman, Matthias Felleisen, Christos Dimoulas

Research output: Contribution to journalArticlepeer-review

5 Scopus citations


Programming language theoreticians develop blame assignment systems and prove blame theorems for gradually typed programming languages. Practical implementations of gradual typing almost completely ignore the idea of blame assignment. This contrast raises the question whether blame provides any value to the working programmer and poses the challenge of how to evaluate the effectiveness of blame assignment strategies. This paper contributes (1) the first evaluation method for blame assignment strategies and (2) the results from applying it to three different semantics for gradual typing. These results cast doubt on the theoretical effectiveness of blame in gradual typing. In most scenarios, strategies with imprecise blame assignment are as helpful to a rationally acting programmer as strategies with provably correct blame.

Original languageEnglish (US)
Article number3473573
JournalProceedings of the ACM on Programming Languages
Issue numberICFP
StatePublished - Aug 2021


  • blame
  • gradual typing

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality


Dive into the research topics of 'How to evaluate blame for gradual types'. Together they form a unique fingerprint.

Cite this