CarFast: achieving higher statement coverage faster

  • Authors:
  • Sangmin Park;B. M. Mainul Hossain;Ishtiaque Hussain;Christoph Csallner;Mark Grechanik;Kunal Taneja;Chen Fu;Qing Xie

  • Affiliations:
  • Georgia Institute of Technology, Atlanta, Georgia;University of Illinois at Chicago, Chicago, IL;University of Texas at Arlington, Arlington, TX;University of Texas at Arlington, Arlington, TX;University of Illinois, Chicago, IL;North Carolina State University, Raleigh, NC;Accenture Technology Labs, San Jose, CA;Accenture Technology Labs, San Jose, CA

  • Venue:
  • Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Test coverage is an important metric of software quality, since it indicates thoroughness of testing. In industry, test coverage is often measured as statement coverage. A fundamental problem of software testing is how to achieve higher statement coverage faster, and it is a difficult problem since it requires testers to cleverly find input data that can steer execution sooner toward sections of application code that contain more statements. We created a novel fully automatic approach for aChieving higher stAtement coveRage FASTer (CarFast), which we implemented and evaluated on twelve generated Java applications whose sizes range from 300 LOC to one million LOC. We compared CarFast with several popular test case generation techniques, including pure random, adaptive random, and Directed Automated Random Testing (DART). Our results indicate with strong statistical significance that when execution time is measured in terms of the number of runs of the application on different input test data, CarFast outperforms the evaluated competitive approaches on most subject applications.