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
Link To Document