Experimental comparison of concolic and random testing for java card applets

  • Authors:
  • Kari Kähkönen;Roland Kindermann;Keijo Heljanko;Ilkka Niemelä

  • Affiliations:
  • Aalto University, Department of Information and Computer Sciencen, Aalto, Finland;Aalto University, Department of Information and Computer Sciencen, Aalto, Finland;Aalto University, Department of Information and Computer Sciencen, Aalto, Finland;Aalto University, Department of Information and Computer Sciencen, Aalto, Finland

  • Venue:
  • SPIN'10 Proceedings of the 17th international SPIN conference on Model checking software
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 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.