Abstract
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 language | English |
---|---|
Title of host publication | ICST '16 IEEE International Conference on Software Testing, Verification and Validation |
Publisher | IEEE Computer Society |
Pages | 255-265 |
Number of pages | 10 |
DOIs | |
Publication status | Published - 2016 |
Research Groups and Themes
- Programming Languages
Keywords
- 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.Profiles
-
Dr Meng Wang
- School of Computer Science - Associate Professor of Programming Languages
Person: Academic