[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/347324.348870acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
Article
Free access

Automated Testing of Classes

Published: 01 August 2000 Publication History

Abstract

Programs developed with object technologies have unique features that often make traditional testing methods inadequate. Consider, for instance, the dependence between the state of an object and the behavior of that object: The outcome of a method executed by an object often depends on the state of the object when the method is invoked. It is therefore crucial that techniques for testing of classes exercise class methods when the method's receiver is in different states. The state of an object at any given time depends on the sequence of messages received by the object up to that time. Thus, methods for testing object-oriented software should identify sequences of method invocations that are likely to uncover potential defects in the code under test. However, testing methods for traditional software do not provide this kind of information.
In this paper, we use data flow analysis, symbolic execution, and automated deduction to produce sequences of method invocations exercising a class under test. Since the static analysis techniques that we use are applied to different subproblems, the method proposed in this paper can automatically generate information relevant to testing even when symbolic execution and automated deduction cannot be completed successfully.

References

[1]
S. Barbey, D.Buchs, and C. P~eraire. A theory of speci~cation-based testing for object-oriented software. In Proceedings of EDCC2 (European Dependable Computing Conference), Taormina (Italy), October 1996, Lecture Notes in Computer Science 1150, pages 303{320. Springer-Verlag, 1996.
[2]
H. Y. Chen, T. H.Tse, F. T.Chan, and T. Y.Chen. In black and white: an integrated approach to class-level testing of object-oriented programs. ACM Transactions on Software Engineering and Methodology, 7(3):250{295, July 1998.
[3]
M. Clerici and L. Mera. Esecuzione simbolica per l'analisi di sistemi critici. Laurea's thesis, Politecnico di Milano, 1999. (in Italian).
[4]
A. Coen-Porisini, F. De Paoli, C. Ghezzi, and D. Mandrioli. Software speci~cation via symbolic execution. IEEE Transaction on Software Engineering, SE-17(9):884{899, September 1991.
[5]
R.-K. Doong and P. G.Frankl. The ASTOOT approach to testing object-oriented programs. ACM Transactions on Software Engineering and Methodology, 3(2):101{130, April 1994.
[6]
E. D? usterwald, R. Gupta, and M. L. So~a. Rigorous data ow testing through output in uences. In Proceedings of the Second Irvine Software Symposium, pages 131{145, Irvine (California), March 1992.
[7]
Edison Design Group. http://www.edg.com, August 1999.
[8]
M. J. Harrold, J. D. McGregor, and K. J. Fitzpatrick. Incremental Testing of Object-Oriented Class Structures. In Proceedings of the 14th International Conference on Software Engineering, pages 68{80, Melbourne (Australia), May 1992.
[9]
M. J. Harrold and G. Rothermel. Performing data ow testing on classes. In 2nd ACM-SIGSOFT Symposium on the foundations of software engineering, pages 154{163, New Orleans, LA (USA), December 1994.
[10]
L. Hatton. Safer C : Developing Software for High-integrity and Safety-critical Systems. McGraw-Hill, 1995.
[11]
D. Ho~man and P. Strooper. ClassBench: A framework for automated class testing. Software Practice and Experience, 27(5):573{597, May 1997.
[12]
P. Jorgensen and C. Erickson. Object-oriented integration testing. Communications of the ACM, 37(9):30{38, September 1994.
[13]
S. Kirani. Speci~cation and Veri~cation of Object-Oriented Programs. PhD thesis, University of Minnesota, Minneapolis (Minnesota), December 1994.
[14]
D. Kung, J. Gao, P. Hsia, Y. Toyoshima, C. Chen, Y.-S. Kim, and Y.-K. Song. Developing and oject-oriented software testing and maintenance environment. Communications of the ACM, 38(10):75{86, October 1995.
[15]
J. D. McGregor. Constructing functional test cases using incrementally de~ned state machines. In Proceedings of the 11 th International Conference on Testing Computer Software, Washington DC (USA), June 1994.
[16]
G. C. Murphy, P. Townsend, and P. S.Wong. Experiences with cluster and class testing. Communications of the ACM, 37(9):39{47, September 1994.
[17]
A. Orso. Integration Testing of Object-Oriented Software. PhD thesis, Politecnico di Milano, Milano, Italy, 1998.
[18]
A. Orso. A framework for testing object-oriented classes. Technical report, Politecnico di Milano, 1999.
[19]
A. Orso, F. Saini, and N. Trevisan. Un algoritmo per il calcolo di coppie de~nizione-uso interprocedurali. Technical report, Politecnico di Milano, 1999. (in Italian).
[20]
S. Owre, J. Rushby, N. Shankar, and F. von Henke. Formal veri~cation for fault-tolerant architectures: Prolegomena to the design of PVS. IEEE Transactions on Software Engineering, 21(2):107{125, February 1995.
[21]
W. Pugh. The Omega test: a fast and practical integer programming algorithm for dependence analysis. Communications of the ACM, 8:102{114, August 1992.
[22]
G. Rothermel and M. J. Harrold. Selecting regression tests for object-oriented software. In International Conference on Software Maintenance (ICSM94), pages 14{25, Victoria, British Columbia (Canada), September 1994.
[23]
J. Rushby, S. Owre, and N. Shankar. Subtypes for speci~cations: Predicate subtyping in PVS. IEEE Transactions on Software Engineering, 24(9):709{720, September 1998.
[24]
A. L. Souter, L. L. Pollock, and D. Hisley. Inter-class def-use analysis with partial class representations. In Proceedings of the ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering PASTE'99, Toulouse (France), September 1999.
[25]
C. D. Turner and D. J. Robson. The state-based testing of object-oriented programs. In International Conference on Software Maintenance, pages 302{310, Montr~eal, Quebec (Canada), September 1993. IEEE Society Press.

Cited By

View all
  • (2017)A Survey on Data-Flow TestingACM Computing Surveys10.1145/302026650:1(1-35)Online publication date: 10-Mar-2017
  • (2016)A framework for test data generation of object-oriented programs based on complete testing chain2016 17th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD)10.1109/SNPD.2016.7515930(391-397)Online publication date: May-2016
  • (2015)Dynamic data flow testing of object oriented systemsProceedings of the 37th International Conference on Software Engineering - Volume 110.5555/2818754.2818868(947-958)Online publication date: 16-May-2015
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ISSTA '00: Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
August 2000
211 pages
ISBN:1581132662
DOI:10.1145/347324
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 August 2000

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. class testing
  2. data flow analysis
  3. symbolic execution
  4. testing and analysis
  5. testing object-oriented software

Qualifiers

  • Article

Conference

ISSTA00
Sponsor:

Acceptance Rates

Overall Acceptance Rate 58 of 213 submissions, 27%

Upcoming Conference

ISSTA '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)138
  • Downloads (Last 6 weeks)30
Reflects downloads up to 18 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2017)A Survey on Data-Flow TestingACM Computing Surveys10.1145/302026650:1(1-35)Online publication date: 10-Mar-2017
  • (2016)A framework for test data generation of object-oriented programs based on complete testing chain2016 17th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD)10.1109/SNPD.2016.7515930(391-397)Online publication date: May-2016
  • (2015)Dynamic data flow testing of object oriented systemsProceedings of the 37th International Conference on Software Engineering - Volume 110.5555/2818754.2818868(947-958)Online publication date: 16-May-2015
  • (2015)Combining symbolic execution and model checking for data flow testingProceedings of the 37th International Conference on Software Engineering - Volume 110.5555/2818754.2818834(654-665)Online publication date: 16-May-2015
  • (2015)Combining Symbolic Execution and Model Checking for Data Flow Testing2015 IEEE/ACM 37th IEEE International Conference on Software Engineering10.1109/ICSE.2015.81(654-665)Online publication date: May-2015
  • (2015)Dynamic Data Flow Testing of Object Oriented Systems2015 IEEE/ACM 37th IEEE International Conference on Software Engineering10.1109/ICSE.2015.104(947-958)Online publication date: May-2015
  • (2015)An approach and tool for measurement of state variable based data-flow test coverage for aspect-oriented programsInformation and Software Technology10.1016/j.infsof.2014.11.00859:C(233-254)Online publication date: 1-Mar-2015
  • (2015)Constraint-Based Testing10.1016/bs.adcom.2015.05.002(67-101)Online publication date: 2015
  • (2014)Detecting, isolating, and enforcing dependencies among and within test casesProceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering10.1145/2635868.2666597(799-802)Online publication date: 11-Nov-2014
  • (2014)Dynamic data-flow testingCompanion Proceedings of the 36th International Conference on Software Engineering10.1145/2591062.2591079(682-685)Online publication date: 31-May-2014
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media