Empirical evaluation of test coverage for functional programs

Yufeng Cheng, Meng Wang, Yingfei Xiong, Dan Hao, Lu Zhang

Research output: Chapter in Book/Report/Conference proceedingConference Contribution (Conference Proceeding)

164 Downloads (Pure)


The correlation between test coverage and test effectiveness is important to justify the use of coverage in practice. Existing results on imperative programs mostly show that test coverage predicates effectiveness. However, since functional programs are usually structurally different from imperative ones, it is unclear whether the same result may be derived and coverage can be used as a prediction of effectiveness on functional programs. In this paper we report the first empirical study on the correlation between test coverage and test effectiveness on functional programs. We consider four types of coverage: as input coverages, statement/branch coverage and expression coverage, and as oracle coverages, count of assertions and checked coverage. We also consider two types of effectiveness: raw effectiveness and normalized effectiveness. Our results are twofold. (1) In general the findings on imperative programs still hold on functional programs, warranting the use of coverage in practice. (2) On specific coverage criteria, the results may be unexpected or different from the imperative ones, calling for further studies on functional programs.
Original languageEnglish
Title of host publicationICST '16 IEEE International Conference on Software Testing, Verification and Validation
PublisherIEEE Computer Society
Number of pages10
Publication statusPublished - 2016

Structured keywords

  • Programming Languages


  • Software
  • Functional programming
  • Pattern Matching
  • Testing
  • Correlation
  • Software measurement

Fingerprint Dive into the research topics of 'Empirical evaluation of test coverage for functional programs'. Together they form a unique fingerprint.

Cite this