Skip to main content

Advertisement

SpringerLink
Log in
Menu
Find a journal Publish with us Track your research
Search
Cart
Book cover

European Symposium on Programming

ESOP 2007: Programming Languages and Systems pp 284–299Cite as

  1. Home
  2. Programming Languages and Systems
  3. Conference paper
Interprocedurally Analysing Linear Inequality Relations

Interprocedurally Analysing Linear Inequality Relations

  • Helmut Seidl1,
  • Andrea Flexeder1 &
  • Michael Petter1 
  • Conference paper
  • 1069 Accesses

  • 2 Citations

  • 3 Altmetric

Part of the Lecture Notes in Computer Science book series (LNTCS,volume 4421)

Abstract

In this paper we present an alternative approach to interprocedurally inferring linear inequality relations. We propose an abstraction of the effects of procedures through convex sets of transition matrices. In the absence of conditional branching, this abstraction can be characterised precisely by means of the least solution of a constraint system. In order to handle conditionals, we introduce auxiliary variables and postpone checking them until after the procedure calls. In order to obtain an effective analysis, we approximate convex sets by means of polyhedra. Since our implementation of function composition uses the frame representation of polyhedra, we rely on the subclass of simplices to obtain an efficient implementation. We show that for this abstraction the basic operations can be implemented in polynomial time. First practical experiments indicate that the resulting analysis is quite efficient and provides reasonably precise results.

Keywords

  • Linear Inequality
  • Transition Matrice
  • Constraint System
  • Procedure Call
  • Program Variable

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.

Chapter PDF

Download to read the full chapter text

References

  1. Bagnara, R., et al.: Precise widening operators for convex polyhedra. In: Cousot, R. (ed.) SAS 2003. LNCS, vol. 2694, pp. 337–354. Springer, Heidelberg (2003)

    CrossRef  Google Scholar 

  2. Blanchet, B., et al.: A static analyzer for large safety-critical software. In: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pp. 196–207. ACM Press, New York (2003)

    CrossRef  Google Scholar 

  3. Cortadella, J., Clarisó, R.: The Octahedron Abstract Domain. In: Giacobazzi, R. (ed.) SAS 2004. LNCS, vol. 3148, pp. 312–327. Springer, Heidelberg (2004)

    Google Scholar 

  4. Cousot, P., Cousot, R.: Abstract interpretation frameworks. Journal of Logic and Computation 2(4), 511–547 (1992)

    CrossRef  MATH  MathSciNet  Google Scholar 

  5. Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: 5th Ann. ACM Symposium on Principles of Programming Languages (POPL), pp. 84–97. ACM Press, New York (1978)

    CrossRef  Google Scholar 

  6. Manna, Z., McCarthy, J.: Properties of programs and partial function logic. In: Machine Intelligence, vol. 5, pp. 27–37. Edinburgh University Press,, Edinburgh (1970)

    Google Scholar 

  7. Miné, A.: The Octagon abstract domain. In: Analysis, Slicing, and Transformation (AST), pp. 310–319 (2001)

    Google Scholar 

  8. Müller-Olm, M., Seidl, H.: Program analysis through linear algebra. In: 31th Ann. ACM Symposium on Principles of Programming Languages (POPL) (2004)

    Google Scholar 

  9. Müller-Olm, M., Seidl, H.: A generic framework for interprocedural analysis of numerical properties. In: Hankin, C., Siveroni, I. (eds.) SAS 2005. LNCS, vol. 3672, pp. 235–250. Springer, Heidelberg (2005)

    CrossRef  Google Scholar 

  10. Manna, Z., et al.: Efficient Strongly Relational Polyhedral Analysis. In: Emerson, E.A., Namjoshi, K.S. (eds.) VMCAI 2006. LNCS, vol. 3855, pp. 111–125. Springer, Heidelberg (2005)

    Google Scholar 

  11. Sankaranarayanan, S., Sipma, H.B., Manna, Z.: Constraint-Based Linear-Relations Analysis. In: Giacobazzi, R. (ed.) SAS 2004. LNCS, vol. 3148, pp. 53–68. Springer, Heidelberg (2004)

    Google Scholar 

  12. Schrijver, A.: Theory of linear and integer programming. John Wiley & Sons, Inc., New York (1986)

    MATH  Google Scholar 

  13. Simon, A., King, A., Howe, J.M.: Two Variables per Linear Inequality as an Abstract Domain. In: Leuschel, M.A. (ed.) LOPSTR 2002. LNCS, vol. 2664, pp. 71–89. Springer, Heidelberg (2003)

    CrossRef  Google Scholar 

Download references

Author information

Authors and Affiliations

  1. Technische Universität München, Boltzmannstrasse 3, 85748 Garching, Germany

    Helmut Seidl, Andrea Flexeder & Michael Petter

Authors
  1. Helmut Seidl
    View author publications

    You can also search for this author in PubMed Google Scholar

  2. Andrea Flexeder
    View author publications

    You can also search for this author in PubMed Google Scholar

  3. Michael Petter
    View author publications

    You can also search for this author in PubMed Google Scholar

Editor information

Rocco De Nicola

Rights and permissions

Reprints and Permissions

Copyright information

© 2007 Springer Berlin Heidelberg

About this paper

Cite this paper

Seidl, H., Flexeder, A., Petter, M. (2007). Interprocedurally Analysing Linear Inequality Relations. In: De Nicola, R. (eds) Programming Languages and Systems. ESOP 2007. Lecture Notes in Computer Science, vol 4421. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71316-6_20

Download citation

  • .RIS
  • .ENW
  • .BIB
  • DOI: https://doi.org/10.1007/978-3-540-71316-6_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-71314-2

  • Online ISBN: 978-3-540-71316-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Share this paper

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

Publish with us

Policies and ethics

search

Navigation

  • Find a journal
  • Publish with us
  • Track your research

Discover content

  • Journals A-Z
  • Books A-Z

Publish with us

  • Publish your research
  • Open access publishing

Products and services

  • Our products
  • Librarians
  • Societies
  • Partners and advertisers

Our imprints

  • Springer
  • Nature Portfolio
  • BMC
  • Palgrave Macmillan
  • Apress
  • Your US state privacy rights
  • Accessibility statement
  • Terms and conditions
  • Privacy policy
  • Help and support
  • Cancel contracts here

167.114.118.210

Not affiliated

Springer Nature

© 2023 Springer Nature