Jump to content

Talk:Extended static checking

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is the current revision of this page, as edited by Qwerfjkl (bot) (talk | contribs) at 04:29, 25 January 2024 (Implementing WP:PIQA (Task 26)). The present address (URL) is a permanent link to this version.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

"ESC can identify a range of errors which are currently outside the scope of a type checker, including division by zero, array out of bounds, integer overflow and null dereferences."

This is not strictly true. With subtypes and refinement types all of these are "catchable" by a type checker. See for example http://goto.ucsd.edu/~rjhala/liquid/haskell/blog/blog/2013/01/01/refinement-types-101.lhs/ Which is a tutorial on refinement types to remove division by zero. Languages like ATS use dependent types to prove the absence of errors like null dereferences. Integer over(under)flow and array out of bounds can be removed with subtypes, as done in CCured.