A Polynomial-Cost Non-determinism Analysis

  • Ricardo Pena
  • Clara Segura
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2312)


This paper is an extension of a previous workwhere two non-determinism analyses were presented. One of them was efficient but not very powerful and the other one was more powerful but very expensive. Here, we develop an intermediate analysis in both aspects, efficiency and power. The improvement in efficiency is obtained by speeding up the fixpoint calculation by means of a widening operator, and the representation of functions through easily comparable signatures. Also details about the implementation and its cost are given.


Abstract Function Widening Operator Abstract Interpretation Functional Programming Abstract Domain 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    G. Baraki. Abstract Interpretation of Polymorphic Higher-Order Functions. PhD thesis, University of Glasgow, February 1993.Google Scholar
  2. 2.
    S. Breitinger, R. Loogen, Y. Ortega Mallén, and R. Pena. Eden: Language Definition and Operational Semantics. Technical Report, Bericht 96-10. Revised version 1.998, Philipps-Universität Marburg, Germany, 1998.Google Scholar
  3. 3.
    G. L. Burn, C. L. Hankin, and S. Abramsky. The Theory of Strictness Analysis for Higher Order Functions. In Programs as Data Objects, volume 217 of LNCS, pages 42–62. Springer-Verlag, October 1986.Google Scholar
  4. 4.
    P. Cousot and R. Cousot. Abstract interpretation: A unified lattice model for static analysis of programs by construction of approximation of fixed points. In Proceedings of the 4th ACM Symposium on Principles of Programming Languages, pages 238–252. ACM, 1977.Google Scholar
  5. 5.
    P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In Conference Record of the 6th Annual ACM Symposium on Principles on Programming Languages, pages 269–282. ACM, 1979.Google Scholar
  6. 6.
    C. Hankin and S. Hunt. Approximate fixed points in abstract interpretation. In B. Krieg-Brückner, editor, ESOP’ 92, 4th European Symposium on Programming, volume 582 of LNCS, pages 219–232. Springer, Berlin, 1992.Google Scholar
  7. 7.
    J. Hughes. The design of a pretty-printing library. In J. Jeuring and E. Meijer, editors, Advanced Functional Programming, volume 925 of LNCS, pages 53–96. Springer Verlag, 1995.Google Scholar
  8. 8.
    R. J. M. Hughes and J. O'Donnell. Expressing and Reasoning About Non-Deterministic Functional Programs. In Functional Programming: Proceedings of the 1989 Glasgow Workshop, pages 308–328. Springer-Verlag, 1990.Google Scholar
  9. 9.
    R. Pena and C. Segura. A Comparison between three Non-determinism Analyses in a Parallel-Functional Language. In Selected papers in Primeras Jornadas sobre Programación y Lenguajes, PROLE’01, 2001.Google Scholar
  10. 10.
    R. Pena and C. Segura. Three Non-determinism Analyses in a Parallel-Functional Language. Technical Report 117-01 (SIP). Universidad Complutense de Madrid, Spain, 2001. ( Scholar
  11. 11.
    R. Pena and C. Segura. Non-Determinism Analysis in a Parallel-Functional Language. In 12th International Workshop on Implementation of Functional Languages, IFL00, volume 2011 of LNCS, pages 1–18. Springer-Verlag, 2001.Google Scholar
  12. 12.
    S. L. Peyton Jones and C. Clack. Finding fixpoints in abstract interpretation. In S. Abramsky and C. Hankin, editors, Abstract Interpretation of Declarative Languages, chapter 11, pages 246–265. Ellis-Horwood, 1987.Google Scholar
  13. 13.
    S. L. Peyton Jones, C. V. Hall, K. Hammond, W. D. Partain, and P. L. Wadler. The Glasgow Haskell Compiler: A Technical Overview. In Joint Framework for Inf. Technology, Keele, DTI/SERC, pages 249–257, 1993.Google Scholar
  14. 14.
    S. L. Peyton Jones and W. Partain. Measuring the effectiveness of a simple strictness analyser. In Glasgow Workshop on Functional Programming 1993, Workshops in Computing, pages 201–220. Springer-Verlag, 1993.Google Scholar
  15. 15.
    S. L. Peyton Jones, W. Partain, and A. L. M. Santos. Let-floating: Moving Bindings to give Faster Programs. Proceedings of the 1996 ACM SIGPLAN International Conference on Functional Programming, ICFP’96, pages 1–12, 24–26 May 1996.Google Scholar
  16. 16.
    S. L. Peyton Jones and A. L. M. Santos. A Transformation-based Optimiser for Haskell. Science of Computer Programming 32(1–3):3–47, September 1998.zbMATHCrossRefGoogle Scholar
  17. 17.
    H. Sondergaard and P. Sestoft. Referential Transparency, Definiteness and Unfoldability. Acta Informatica, 27(6):505–517, May 1990.CrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Ricardo Pena
    • 1
  • Clara Segura
    • 1
  1. 1.Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de MadridSpain

Personalised recommendations