skip to main content
10.1145/1138929.1138942acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Substra: a framework for automatic generation of integration tests

Authors Info & Claims
Published:23 May 2006Publication History

ABSTRACT

A component-based software system consists of well-encapsulated components that interact with each other via their interfaces. Software integration tests are generated to test the interactions among different components. These tests are usually in the form of sequences of interface method calls. Although many components are equipped with documents that provide informal specifications of individual interface methods, few documents specify component interaction constraints on the usage of these interface methods, including the order in which these methods should be called and the constraints on the method arguments and returns across multiple methods. In this paper, we propose Substra, a framework for automatic generation of software integration tests based on call-sequence constraints inferred from initial-test executions or normal runs of the subsystem under test. Two types of sequencing constraints are inferred: shared subsystem states and object define-use relationships. The inferred constraints are used to guide automatic generation of integration tests. We have implemented Substra with a tool and applied the tool on an ATM example. The preliminary results show that the tool can effectively generate integration tests that exercise new program behaviors.

References

  1. S. Ali, M. J. ur Rehman, L. C. Briand, H. Asghar, Z. Zafar, and A. Nadeem. A state-based approach to integration testing for object-oriented programs. Technical Report SCE-05-08, Department of Systems and Computer Engineering, Carleton University, May 2005.Google ScholarGoogle Scholar
  2. G. Ammons, R. Bodik, and J. R. Larus. Mining specifications. In Proc. 29th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 4--16, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. F. Basanieri, A. Bertolino, and E. Marchetti. The Cow-Suite approach to planning and deriving test suites in UML projects. In Proc. 5th International Conference on the Unified Modeling Language, pages 383--397, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. R. C. Bjork. ATM example introduction. http://courses.knox.edu/cs292/ATMExample/Intro.html.Google ScholarGoogle Scholar
  5. M. D. Ernst, J. Cockrell, W. G. Griswold, and D. Notkin. Dynamically discovering likely program invariants to support program evolution. IEEE Trans. Softw. Eng., 27(2):99--123, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. G. T. Heineman and W. T. Councill. Component-Based Software Engineering: Putting the Pieces Together. Addison-Wesley, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Kung, N. Suchak, J. Gao, and P. Hsia. On object state testing. In Proc. 18th International Computer Software and Applications Conference, pages 222--227, 1994.Google ScholarGoogle ScholarCross RefCross Ref
  8. L. C. Briand, Y. Labiche, and J. Leduc. Towards the reverse engineering of UML sequence diagrams for distributed real-time Java software. Technical Report SCE-04-04, Carleton University, September 2004.Google ScholarGoogle Scholar
  9. A. Orso and B. Kennedy. Selective Capture and Replay of Program Executions. In Proc. 3rd International ICSE Workshop on Dynamic Analysis, pages 29--35, St. Louis, MO, May 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Paradkar. SALT - an integrated environment to automate generation of function tests for APIs. In Proc. 11th International Symposium on Software Reliability Engineering, pages 304--316, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. Rountev, O. Volgin, and M. Reddoch. Static Control-Flow Analysis for Reverse Engineering of UML Sequence Diagrams. In Proc. ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, pages 96--102, September 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. D. Saff, S. Artzi, J. H. Perkins, and M. D. Ernst. Automatic test factoring for Java. In Proc. 21st Annual International Conference on Automated Software Engineering, pages 114--123, Long Beach, CA, November 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. K. Sen and G. Agha. Automated systematic testing of open distributed programs. In Proc. International Conference on Fundamental Approaches to Software Engineering (FASE 2006), 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Whaley, M. C. Martin, and M. S. Lam. Automatic extraction of object-oriented component interfaces. In Proc. International Symposium on Software Testing and Analysis, pages 218--228, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. T. Xie, D. Marinov, and D. Notkin. Rostra: A framework for detecting redundant object-oriented unit tests. In Proc. 19th IEEE International Conference on Automated Software Engineering, pages 196--205, Sept. 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. T. Xie and D. Notkin. Automatic extraction of object-oriented observer ions from unit-test executions. In Proc. 6th International Conference on Formal Engineering Methods, pages 290--305, Nov. 2004.Google ScholarGoogle ScholarCross RefCross Ref
  17. T. Xie and D. Notkin. Automatic extraction of sliced object state machines for component interfaces. In Proceedings of the 3rd Workshop on Specification and Verification of Component-Based Systems (SAVCBS 2004), pages 39--46, October 2004.Google ScholarGoogle Scholar
  18. T. Xie and D. Notkin. Tool-assisted unit-test generation and selection based on operational abstractions. Automated Software Engineering Journal, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. H. Yuan and T. Xie. Automatic extraction of abstract-object-state machines based on branch coverage. In Proc. 1st International Workshop on Reverse Engineering To Requirements at WCRE 2005, pages 5--11, November 2005.Google ScholarGoogle Scholar

Index Terms

  1. Substra: a framework for automatic generation of integration tests

    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
      AST '06: Proceedings of the 2006 international workshop on Automation of software test
      May 2006
      128 pages
      ISBN:1595934081
      DOI:10.1145/1138929

      Copyright © 2006 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: 23 May 2006

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Upcoming Conference

      ICSE 2025

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader