• DocumentCode
    3027
  • Title

    Generating Test Data from OCL Constraints with Search Techniques

  • Author

    Ali, Shady ; Zohaib Iqbal, Muhammad ; Arcuri, Andrea ; Briand, Lionel C.

  • Author_Institution
    Certus Software V&V Center, Simula Res. Lab., Lysaker, Norway
  • Volume
    39
  • Issue
    10
  • fYear
    2013
  • fDate
    Oct. 2013
  • Firstpage
    1376
  • Lastpage
    1402
  • Abstract
    Model-based testing (MBT) aims at automated, scalable, and systematic testing solutions for complex industrial software systems. To increase chances of adoption in industrial contexts, software systems can be modeled using well-established standards such as the Unified Modeling Language (UML) and the Object Constraint Language (OCL). Given that test data generation is one of the major challenges to automate MBT, we focus on test data generation from OCL constraints in this paper. This endeavor is all the more challenging given the numerous OCL constructs and operations that are designed to facilitate the definition of constraints. Though search-based software testing has been applied to test data generation for white-box testing (e.g., branch coverage), its application to the MBT of industrial software systems has been limited. In this paper, we propose a set of search heuristics targeted to OCL constraints to guide test data generation and automate MBT in industrial applications. We evaluate these heuristics for three search algorithms: Genetic Algorithm, (1+1) Evolutionary Algorithm, and Alternating Variable Method. We empirically evaluate our heuristics using complex artificial problems, followed by empirical analyses of the feasibility of our approach on one industrial system in the context of robustness testing. Our approach is also compared with the most widely referenced OCL solver (UMLtoCSP) in the literature and shows to be significantly more efficient.
  • Keywords
    genetic algorithms; program testing; specification languages; MBT; OCL constraints; OCL constructs; OCL operations; UML; UMLtoCSP OCL solver; alternating variable method; empirical analysis; genetic algorithm; industrial software systems; model-based testing; object constraint language; one-plus-one evolutionary algorithm; robustness testing context; search techniques; search-based software testing; test data generation; unified modeling language; white-box testing; Genetic algorithms; Search problems; Software algorithms; Software testing; Standards; Unified modeling language; OCL; empirical evaluation; model-based testing; search-based software engineering; search-based testing; test data generation;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2013.17
  • Filename
    6491405