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

Automated Testing of Classes

Published:01 August 2000Publication 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. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.M. Clerici and L. Mera. Esecuzione simbolica per l'analisi di sistemi critici. Laurea's thesis, Politecnico di Milano, 1999. (in Italian).Google ScholarGoogle Scholar
  4. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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.Google ScholarGoogle Scholar
  7. 7.Edison Design Group. http://www.edg.com, August 1999.Google ScholarGoogle Scholar
  8. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.L. Hatton. Safer C : Developing Software for High-integrity and Safety-critical Systems. McGraw-Hill, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.D. Ho~man and P. Strooper. ClassBench: A framework for automated class testing. Software Practice and Experience, 27(5):573{597, May 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.P. Jorgensen and C. Erickson. Object-oriented integration testing. Communications of the ACM, 37(9):30{38, September 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.S. Kirani. Speci~cation and Veri~cation of Object-Oriented Programs. PhD thesis, University of Minnesota, Minneapolis (Minnesota), December 1994.Google ScholarGoogle Scholar
  14. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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.Google ScholarGoogle Scholar
  16. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.A. Orso. Integration Testing of Object-Oriented Software. PhD thesis, Politecnico di Milano, Milano, Italy, 1998.Google ScholarGoogle Scholar
  18. 18.A. Orso. A framework for testing object-oriented classes. Technical report, Politecnico di Milano, 1999.Google ScholarGoogle Scholar
  19. 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).Google ScholarGoogle Scholar
  20. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Automated Testing of Classes

      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
        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

        Copyright © 2000 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 August 2000

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        Overall Acceptance Rate58of213submissions,27%

        Upcoming Conference

        ISSTA '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader