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 :
بازگشت