• DocumentCode
    1592834
  • Title

    Test Case Generation Using Model Checking for Software Components Deployed into New  Environments

  • Author

    Bao, Tonglaga ; Jones, Michael D.

  • Author_Institution
    Comput. Sci. Dept., Brigham Young Univ. Provo, Provo, UT
  • fYear
    2009
  • Firstpage
    57
  • Lastpage
    66
  • Abstract
    In this paper, we show how to generate test cases for a component deployed into a new software environment. This problem is important for software engineers who need to deploy a component into a new environment. Most existing model based testing approaches generate models from high level specifications. This leaves a semantic gap between the high level specification and the actual implementation. Furthermore, the high level specification often needs to be manually translated into a model, which is a time consuming and error prone process. We propose generating the model automatically by abstracting the source code of the component using an under-approximating predicate abstraction scheme and leaving the environment concrete. Test cases are generated by iteratively executing the entire system and storing the border states between the component and the environment. A model checker is used in the component to explore non-deterministic behaviors of the component due to the concurrency or data abstraction. The environment is symbolically simulated to detect refinement conditions. Assuming the run time environment is able to do symbolic execution and that the run time environment has a single unique response to a given input, we prove that our approach can generate test cases that have complete coverage of the component when the proposed algorithm terminates. When the algorithm does not terminate, the abstract-concrete model can be refined iteratively to generate additional test cases. Test cases generated from this abstract-concrete model can be used to check whether a new environment is compatible with the existing component.
  • Keywords
    formal specification; object-oriented programming; abstract-concrete model; concurrency; data abstraction; error prone process; high level specification; model based testing; model checker; model checking; predicate abstraction; refinement condition; run time environment; software component; software environment; source code; symbolic execution; test case generation; Computer science; Concrete; Conferences; Costs; Iterative algorithms; Programming; Software maintenance; Software testing; System testing; USA Councils; Abstraction; Component Based Software; Model Based Testing; Model Checking;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Testing, Verification and Validation Workshops, 2009. ICSTW '09. International Conference on
  • Conference_Location
    Denver, CO
  • Print_ISBN
    978-1-4244-4356-7
  • Type

    conf

  • DOI
    10.1109/ICSTW.2009.15
  • Filename
    4976371