Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article
Free access

Interprocedual data flow testing

Published: 01 November 1989 Publication 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]
A. V. Aho, R. Sethi, and J. D. Ullman, in Compilers, Principles, Techniques, and Tools, Addison- Wesley Publishing Company, Massachusetts, 1986.
[2]
F. E. Allen, "Interprocedural data flow analysis," in IFIP Information Processing 74, North-Holland Publishing Company, 1974.
[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.
[4]
J. M. Barth, "A practical interprocedural data flow analysis algorithm," CACM, vol. 21, no. 9, pp. 724-736, September 1978.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[12]
M. J. Harrold, "An approach to incremental testing," Technical Report 89-l Department of Computer Science, University of Pittsburgh, January 1989.
[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.
[14]
B. Korel and J. Laski, "A tool for data flow oriented program testing," ACM Softfair Proceedings, pp. 35-37, December 1985.
[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.
[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.
[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.
[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.
[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.

Cited By

View all
  • (2022)ACTUM –tool for automatic class testing using meta-heuristics2022 10th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions) (ICRITO)10.1109/ICRITO56286.2022.9964984(1-4)Online publication date: 13-Oct-2022
  • (2022)Data flow testing of feature-oriented programsInternational Journal of System Assurance Engineering and Management10.1007/s13198-022-01636-y13:5(2291-2306)Online publication date: 26-Jan-2022
  • (2021)Self determination: A comprehensive strategy for making automated tests more effective and efficient2021 14th IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST49551.2021.00024(127-136)Online publication date: Apr-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 14, Issue 8
Dec. 1989
213 pages
ISSN:0163-5948
DOI:10.1145/75309
Issue’s Table of Contents
  • 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
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: 01 November 1989
Published in SIGSOFT Volume 14, Issue 8

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)112
  • Downloads (Last 6 weeks)28
Reflects downloads up to 13 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2022)ACTUM –tool for automatic class testing using meta-heuristics2022 10th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions) (ICRITO)10.1109/ICRITO56286.2022.9964984(1-4)Online publication date: 13-Oct-2022
  • (2022)Data flow testing of feature-oriented programsInternational Journal of System Assurance Engineering and Management10.1007/s13198-022-01636-y13:5(2291-2306)Online publication date: 26-Jan-2022
  • (2021)Self determination: A comprehensive strategy for making automated tests more effective and efficient2021 14th IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST49551.2021.00024(127-136)Online publication date: Apr-2021
  • (2020)Detection of Polluting Test Objectives for Dataflow CriteriaIntegrated Formal Methods10.1007/978-3-030-63461-2_18(337-345)Online publication date: 16-Nov-2020
  • (2019)Automatic data flow class testing based on 2-step heterogeneous process using evolutionary algorithmsJournal of Statistics and Management Systems10.1080/09720510.2019.160956522:7(1315-1348)Online publication date: 24-Nov-2019
  • (2019)Regression test case selection and prioritization for object oriented softwareMicrosystem Technologies10.1007/s00542-019-04679-726:5(1463-1477)Online publication date: 6-Nov-2019
  • (2015)A hybrid particle swarm optimization and harmony search algorithm approach for multi-objective test case selectionJournal of the Brazilian Computer Society10.1186/s13173-015-0038-821:1Online publication date: 10-Nov-2015
  • (2015)Using control flow analysis to improve the effectiveness of incremental mutation testingProceedings of the 14th International Workshop on Principles of Software Evolution10.1145/2804360.2804369(73-78)Online publication date: 30-Aug-2015
  • (2012)Test coverage optimization for large code problemsJournal of Systems and Software10.1016/j.jss.2011.05.02185:1(16-27)Online publication date: 1-Jan-2012
  • (2011)On the testing of user‐configurable software systems using firewallsSoftware Testing, Verification and Reliability10.1002/stvr.42822:1(3-31)Online publication date: 27-Dec-2011
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media