skip to main content
10.1145/75308.75327acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
Article
Free Access

Interprocedual data flow testing

Authors Info & Claims
Published:01 November 1989Publication History

ABSTRACT

As current trends in programming encourage a high degree of modularity, the number of procedure calls and returns executed in a module continues to grow. This increase in procedures mandates the efficient testing of the interactions among procedures. In this paper, we extend the utility of data flow testing to include the testing of data dependencies that exist across procedure boundaries. An interprocedural data flow analysis algorithm is first presented that enables the efficient computation of information detailing the locations of definitions and uses needed by an interprocedural data flow tester. To utilize this information, a technique to guide the selection and execution of test cases, that takes into account the various associations of names with definitions and uses across procedures, is also presented. The resulting interprocedural data flow tester handles global variables, reference parameters and recursive procedure calls, and is compatible with the current intraprocedural data flow testing techniques. The testing tool has been implemented on a Sun 3/50 Workstation.

References

  1. 1.A. V. Aho, R. Sethi, and J. D. Ullman, in Compilers, Principles, Techniques, and Tools, Addison- Wesley Publishing Company, Massachusetts, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.F. E. Allen, "Interprocedural data flow analysis," in IFIP Information Processing 74, North-Holland Publishing Company, 1974.Google ScholarGoogle Scholar
  3. 3.J. P. Banning, "An efficient way to find the side effects of procedure calls and aliases of variables," Sixth Annual ACM Symposium on Principles of Programming Languages, pp. 29-41, January 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.J. M. Barth, "A practical interprocedural data flow analysis algorithm," CACM, vol. 21, no. 9, pp. 724-736, September 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.D. Callahan, "The program summary graph and flow-sensitive interprocedural data flow analysis," Proceedings of the SIGPLAN'88 Conference on Programming Language Design and Implementation, pp. 47-56, Atlanta, GA, June 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.M. D. Carroll and B. G. Ryder, "An incremental algorithm for software analysis," Proceedings of the SIGSOFTISIGPLAN Software Engineering Symposium on Practical Software Development Environments, SIGPLAN Notices, vol. 22, no. 1, January 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.M. D. Carroll and B. G. Ryder, "Incremental data flow analysis via dominator and attribute updates," Proceedings of the Fifteenth Annual ACM SIGACTISIGPLAN Symposium on Principles of Programming Languages, San Diego, CA, January 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.L. A. Clarke, A. Podgurski, D. Richardson, and S. Zeil, "A comparison of data flow path selection criteria," Proceedings 8th International Conference on Software Engineering, pp. 244-251, London, UK, August 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.K. Cooper and K. Kennedy, "Interprocedural sideeffect analysis in linear time," Proceedings of the SIGPLAN'88 Conference on Programming Language Design and Implementation, pp. 57-66, Atlanta, GA, June, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.P. G. Frankl, S. N. Weiss, and E. J. Weyuker, "ASSET: A system to select and evaluate tests," Proceedings of the IEEE Conference on Software Tools, New York, April 1985.Google ScholarGoogle Scholar
  11. 11.P. G. Frankl and E. J. Weyuker, "An applicable family of data flow testing criteria," IEEE Transactions on Software Engineering, vol. 14, no. 10, pp. 1483-1498, October 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.M. J. Harrold, "An approach to incremental testing," Technical Report 89-l Department of Computer Science, University of Pittsburgh, January 1989.Google ScholarGoogle Scholar
  13. 13.M. J. Harrold and M. L. Soffa, "An incremental data flow testing tool," Proceeding of the Sixth International Conference on Testing Computer Software, Washington, DC, May 1989.Google ScholarGoogle Scholar
  14. 14.B. Korel and J. Laski, "A tool for data flow oriented program testing," ACM Softfair Proceedings, pp. 35-37, December 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.J. W. Laski and B. Korel, "A data flow oriented program testing strategy," IEEE Transactions on Software Engineering, vol. SE-g, no. 3, pp. 347- 354, May 1983.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16.D. B. Lomet, "Data flow analysis in the presence of procedure calls," IBM Journal of Research and Development, vol. 21, no. 6, pp. 559-571, November 1977.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.E. W. Myers, "A precise inter-procedural data flow algorithm," Conference Record of the Eighth Annual ACM Symposium on Principles of Programming Languages, pp. 219-230, Williamsburg, VA, January 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.S. C. Ntafos, "An evaluation of required element testing strategies," Proceedings 7th International Conference on Sofhvare Engineering, pp. 250-256, Orlando, Florida, March 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19.S. Rapps and E. J. Weyuker, "Selecting software test data using data flow information," IEEE Transactions of Software Engineering, vol. SE- 11, no. 4, pp. 367-375, April 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Interprocedual data flow testing

              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
                TAV3: Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification
                November 1989
                229 pages
                ISBN:0897913426
                DOI:10.1145/75308

                Copyright © 1989 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: 1 November 1989

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • Article

                Upcoming Conference

                ISSTA '24

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader