Experimental Comparison of Concolic and Random Testing for Java Card Applets [chapter]

Kari Kähkönen, Roland Kindermann, Keijo Heljanko, Ilkka Niemelä
2010 Lecture Notes in Computer Science  
Concolic testing is a method for test input generation where a given program is executed both concretely and symbolically at the same time. This paper introduces the LIME Concolic Tester (LCT), an open source concolic testing tool for sequential Java programs. It discusses the design choices behind LCT as well as its use in automated unit test generation for the JUnit testing framework. As the main experimental contribution we report on an empirical evaluation of LCT for testing smart card Java
more » ... applets. In particular, we focus on the problem of differential testing, where a Java class implementation is tested against a reference implementation. Two different concolic unit test generation approaches are presented and their effectiveness is compared with random testing. The experiments show that concolic testing is able to find significantly more bugs than random testing in the testing domain at hand.
doi:10.1007/978-3-642-16164-3_3 fatcat:haiqnszbkvaz7nhao33l42y2gu