age as optimization goal has to be studied further. The
evaluation presented in this paper has to be performed
on more and especially more complex GUIs. There-
fore, the presented test generation framework, GUI-
toolkit, has to be optimized. It also may be beneficial
to incorporate GUITAR for future projects with the
presented algorithms and their configurations. The
generated test cases may also be used for fair per-
formance tests which depend on highly covering test
cases (Menninghaus and Pulverm
¨
uller, 2016).
REFERENCES
Aburas, A. and Groce, A. (2016). A Method Dependence
Relations Guided Genetic Algorithm. In International
Symposium on Search Based Software Engineering,
pages 267–273. Springer International Publishing.
Arcuri, A. (2012). A Theoretical and Empirical Analysis of
the Role of Test Sequence Length in Software Testing
for Structural Coverage. IEEE Transactions on Soft-
ware Engineering, 38(3):497–519.
Baresi, L., Lanzi, P. L., and Miraz, M. (2010). TestFul: An
Evolutionary Test Approach for Java. In Third Inter-
national Conference on Software Testing, Verification
and Validation, pages 185–194. IEEE.
Barr, E. T., Harman, M., McMinn, P., Shahbaz, M., and
Yoo, S. (2015). The Oracle Problem in Software Test-
ing: A Survey. IEEE Transactions on Software Engi-
neering, 41(5):507–525.
Cadar, C., Dunbar, D., and Engler, D. R. (2008).
KLEE: Unassisted and Automatic Generation of
High-Coverage Tests for Complex Systems Programs.
In 8th USENIX conference on Operating systems,
pages 209–224.
Carino, S. (2016). Dynamically Testing Graphical User In-
terfaces. PhD thesis.
Chee, Y. M., Colbourn, C. J., Horsley, D., and Zhou, J.
(2013). Sequence Covering Arrays. SIAM Journal
on Discrete Mathematics, 27(4):1844–1861.
Chen, M., Qiu, X., Xu, W., Wang, L., Zhao, J., and Li,
X. (2009). UML Activity Diagram-Based Automatic
Test Case Generation For Java Programs. The Com-
puter Journal, 52(5):545–556.
Corne, D. W., Jerram, N. R., Knowles, J. D., Oates, M. J.,
and J, M. (2001). PESA-II: Region-based Selection
in Evolutionary Multiobjective Optimization. In Pro-
ceedings of the genetic and evolutionary computation
conference.
Csallner, C. and Smaragdakis, Y. (2004). JCrasher: an au-
tomatic robustness tester for Java. Software: Practice
and Experience, 34(11):1025–1050.
Dan, H., Harman, M., Krinke, J., Li, L., and Marginean,
A. (2014). Pidgin crasher: searching for minimised
crashing GUI event sequences. SSBSE 2014 - Sympo-
sium on Search -Based Software Engineering.
Deb, K., Agrawal, S., Pratap, A., and Meyarivan, T. (2000).
A Fast Elitist Non-dominated Sorting Genetic Algo-
rithm for Multi-objective Optimization: NSGA-II. In
International Conference on Parallel Problem Solving
From Nature, pages 849–858. Springer Berlin Heidel-
berg.
Fraser, G. and Arcuri, A. (2011). It is Not the Length That
Matters, It is How You Control It. In 2011 IEEE
Fourth International Conference on Software Testing,
Verification and Validation (ICST), pages 150–159.
IEEE.
Ganov, S. R., Killmar, C., Khurshid, S., and Perry, D. E.
(2008). Test generation for graphical user interfaces
based on symbolic execution. In Proceedings of the
3rd international workshop on Automation of software
test, pages 33–40. ACM.
Godefroid, P., Klarlund, N., and Sen, K. (2005). DART:
directed automated random testing. ACM SIGPLAN
Notices, 40(6):213–223.
Goldberg, D. E. and Deb, K. (1991). A Comparative Analy-
sis of Selection Schemes Used in Genetic Algorithms.
Foundations of Genetic Algorithms, pages 69–93.
Gross, F., Fraser, G., and Zeller, A. (2012). EXSYST:
search-based GUI testing. In ICSE Proceedings of
th International Conference on Software Engineering,
pages 1423–1426. IEEE Press.
Harman, M., Mansouri, S. A., and Zhang, Y. (2012a).
Search-based software engineering: Trends, tech-
niques and applications. ACM Computing Surveys
(CSUR), 45(1).
Harman, M., McMinn, P., de Souza, J. T., and Yoo, S.
(2012b). Search Based Software Engineering: Tech-
niques, Taxonomy, Tutorial. In Empirical Software
Engineering and Verification, pages 1–59. Springer
Berlin Heidelberg.
Ingber, L. and Rosen, B. (1992). Genetic Algorithms
and Very Fast Simulated Reannealing: A comparison.
Mathematical and computer modelling, 16(11):87–
100.
Khurshid, S., Visser, W., P
˘
as
˘
areanu, C. S., and Khur-
shid, S. (2004). Test input generation with java
PathFinder. ACM SIGSOFT Software Engineering
Notes, 29(4):97–107.
Korel, B. (1990). Automated software test data genera-
tion. IEEE Transactions on Software Engineering,
16(8):870–879.
Laumanns, M., Thiele, L., and Zitzler, E. (2001). SPEA2:
Improving the strength Pareto evolutionary algorithm.
Eurogen, 3242(103):95–100.
McMinn, P. (2011). Search-Based Software Testing: Past,
Present and Future. In 2011 IEEE Fourth Interna-
tional Conference on Software Testing, Verification
and Validation Workshops (ICSTW), pages 153–163.
IEEE.
Memon, A. M. (2007). An event-flow model of GUI-based
applications for testing. Software Testing, Verification
and Reliability, 17:137–157.
Menninghaus, M. and Pulverm
¨
uller, E. (2016). Towards
Using Code Coverage Metrics for Performance Com-
parison on the Implementation Level. In the 7th
ACM/SPEC, pages 101–104. ACM.
Mitchell, M., Holland, J. H., and Forrest, S. (1993). When
will a genetic algorithm outperform hill climbing?
Ann Arbor.
Search based GUI Test Generation in Java - Comparing Code-based and EFG-based Optimization Goals
185