A new method for strictness analysis on non-flat domains

The authors address the problem of strictness analysis, particularly in the case of non-flat domains, i.e., lazily evaluated lists. Their approach to this problem is novel in that it is based on an abstract domain of very general necessity patterns which allow the requirements that a function has for the components of the data structures which form its arguments, to be modeled in great detail. The necessity patterns also allow the generation of finite abstract domains in a systematic way that can be easily customized for the application. The authors refer to the analysis using necessity patterns as a necessity analysis. This is essentially a form of backwards analysis but carried out in a different framework.<<ETX>>