skip to main content
10.1145/62453.62462acmconferencesArticle/Chapter ViewAbstractPublication PagessmallConference Proceedingsconference-collections
Article
Free Access

Affect-chaining and dependency oriented flow analysis applied to queries of programs

Authors Info & Claims
Published:03 January 1988Publication History

ABSTRACT

Most of the work on static program flow analysis has been done in the context of code optimization. The situation is different for an application such as an interactive query tool for programmer support. Primarily this is because the information wanted is different from what is needed for optimization, but also because incremental flow analysis algorithms are much more relevant in this context.

In this paper we introduce the concept of affect-chaining, which is the process of analysing flow of data between variables in a program. The objective is to help the user to better understand data flow and data dependencies in programs not only during design and coding but also during test, debugging and maintenance. We present both forward- and backward- versions of affect-chaining analysis together with efficient algorithms.

A long term goal of the work presented in this paper is to combine results from static analysis of a program and information from the run-time state during execution of the same program. The idea is, that this combination will enable an interactive query tool to answer questions about possible reasons for unexpected program behavior, and also to inform about possible consequences of a program change which may be considered. Another goal is to develop better estimates of software complexity based on affect-chaining dependencies.

References

  1. Banning-79.J. P. Banning. An EfJicient Way to Find the Side Effects of Procedure Calls and the Aliases of Variables. Conf. record of the Sixth Annual ACM SIGPLAN/SIGSOFT Symposium on POPL. January 1979. pp.29-41. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Barth-78.J. M. Barth. A Practical Inter-procedural Data Flow Analysis Algorithm. Communications of the ACM 21. September 1978. pp.724-736. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Clarke-81.L. A. Clarke, D. J. Richardson Symbolic Evaluation Methods for Program Analysis, in: Program Flow Analysis, Theory and Applications. Edited by Muchnick and Jones. Prentice-Hall, Englewood Cliffs, New Jersey 1981. pp. 5-55.Google ScholarGoogle Scholar
  4. Conradi-85.R. Conradi, D. Svanz~, FORTRAN VERIFIER - A Tool for Documentation and Error Diagnosis of FORTRAN-77 Programs, CS Tech. Report l/85, Jan 1985, 23 pp. Division of Computer Science, University of Trondheim, N-7034 Trondheim-NTH.Google ScholarGoogle Scholar
  5. Ferrante,etal-87.J. Ferrante, K.J. Ottenstein, J.D. Warren. The Program Dependence Graph and its Use in Optimization. ACM Transactions on Programming Languages and Systems, Vol 9, No 3, July 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Fosdick,Osterweil-76.L.D. Fosdick, L.J. Osterweil. Data Flow Analysis in Software Reliability. ACM Computing Surveys, Vol 8, No 3, Sept 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Fritzson-84.P. Fritzson. Towards a Distributed Programming Environment Based on I ncremental Compilation. PhD thesis. Linkijping University, Sweden. Linkiiping 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Fritzson-85.P. Fritzson. The Architecture of an Incremental Programming Environment and some Notions of Consistency. Proc. of the GTE Workshop on Software Engineering Environruents for Programming-in- the-large, Ilarwic*hport, MA. June 1985.Google ScholarGoogle Scholar
  9. Ghodsi-83.V. Ghodsi. Incremental analysis of programs. PhD thesis. University of Central Florida, 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Hecht-77.M. S. Hecht. Flow Analysis of Programs. New York, Elsevier North-Holland, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Kamkar,Shahmehri-87.M. Kamkar, N. Shahmehri. Affect-Chaining in Program FLOW Analysis Applied to Queries of Programs, Licenciate Thesis no 118, May 1987, Dept of Computer Science, Linkijping University, S-581 83 LinkGping, Sweden.Google ScholarGoogle Scholar
  12. Mohanty-79.S.N. Mohanty. Models and Measurements for Quality Assessment of Software. ACM Computing Surveys, Vol 11, No 3, September 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Rosen-79.B. K. Rosen. Data Flow Analysis for Procedural Languages. Journal of the ACM 26. April 1979. pp. 322-344. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Teitelman-78.W. Teitelman, Inter-lisp Reference Manual., Xerox Palo Alto Research Center.Google ScholarGoogle Scholar
  15. Tischler-83.R. Tischler, R. Schaufler, Ch. Payne. Static Analysis of Programs as An Aid to Debugging. Proc. of the SIGSOFT/SIGPLAN Software Engineering Symposium on High-Level Debugging. March 1983. pp.155158. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Weiser-84.M. Weiser. Program Slicing . IEEE Transactions on Software Engineering, Vol SE-lo, No 4, July 1984 .Google ScholarGoogle Scholar

Index Terms

  1. Affect-chaining and dependency oriented flow analysis applied to queries of programs

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          SIGSMALL '88: Proceedings of the 1988 ACM SIGSMALL/PC symposium on ACTES
          January 1988
          196 pages
          ISBN:0897912551
          DOI:10.1145/62453

          Copyright © 1988 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 3 January 1988

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • Article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader