Non-termination Analysis of Logic Programs Using Types

  • Dean Voets
  • Danny De Schreye
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6564)


In recent years techniques and systems have been developed to prove non-termination of logic programs for certain classes of queries. In previous work, we developed such a system based on mode-information and a form of loop checking performed at compile time.

In the current paper we improve this technique by integrating type information in the analysis and by applying non-failure analysis and program specialization. It turns out that there are several classes of programs for which existing non-termination analyzers fail and for which our extended technique succeeds in proving non-termination.


non-termination analysis types non-failure analysis program specialization 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bruynooghe, M., Gallagher, J.P., Van Humbeeck, W.: Inference of well-typings for logic programs with application to termination analysis. In: Hankin, C., Siveroni, I. (eds.) SAS 2005. LNCS, vol. 3672, pp. 35–51. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  2. 2.
    Debray, S.K., López-García, P., Hermenegildo, M.V.: Non-failure analysis for logic programs. In: ICLP, pp. 48–62 (1997)Google Scholar
  3. 3.
    Leuschel, M.: Logic program specialisation. In: Hatcliff, J., Thiemann, P. (eds.) DIKU 1998. LNCS, vol. 1706, pp. 155–188. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  4. 4.
    Lloyd, J.W.: Foundations of Logic Programming, 2nd edn. Springer, Heidelberg (1987)CrossRefzbMATHGoogle Scholar
  5. 5.
    Nguyen, M.T., Bruynooghe, M., De Schreye, D., Leuschel, M.: Program specialisation as a preprocessing step for termination analysis. In: Geser, A., Sondergaard, H. (eds.) WST 2006, pp. 7–11 (2006)Google Scholar
  6. 6.
    Payet, É., Mesnard, F.: Nontermination inference of logic programs. ACM Transactions on Programming Languages and Systems 28(2), 256–289 (2006)CrossRefGoogle Scholar
  7. 7.
    De Schreye, D., Decorte, S.: Termination of logic programs: The never-ending story. J. Log. Program. 19(20), 199–260 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Shen, Y.-d., de Schreye, D., Voets, D.: Termination prediction for general logic programs. Theory Pract. Log. Program. 9(6), 751–780 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Voets, D., De Schreye, D.: A new approach to non-termination analysis of logic programs. In: Hill, P.M., Warren, D.S. (eds.) ICLP 2009. LNCS, vol. 5649, pp. 220–234. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  10. 10.
    Yardeni, E., Shapiro, E.Y.: A type system for logic programs. J. Log. Program. 10(1/2/3&4), 125–153 (1991)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Dean Voets
    • 1
  • Danny De Schreye
    • 1
  1. 1.Department of Computer ScienceK.U. LeuvenHeverleeBelgium

Personalised recommendations