Visible to the public Towards Using Code Coverage Metrics for Performance Comparison on the Implementation Level

TitleTowards Using Code Coverage Metrics for Performance Comparison on the Implementation Level
Publication TypeConference Paper
Year of Publication2016
AuthorsMenninghaus, Mathias, Pulvermüller, Elke
Conference NameProceedings of the 7th ACM/SPEC on International Conference on Performance Engineering
Date PublishedMarch 2016
PublisherACM
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-4080-9
Keywordsalgorithm engineering, Measurement, Metrics, metrics testing, performance comparison, performance tests, pubcrawl, test case generation
Abstract

The development process for new algorithms or data structures often begins with the analysis of benchmark results to identify the drawbacks of already existing implementations. Furthermore it ends with the comparison of old and new implementations by using one or more well established benchmark. But how relevant, reproducible, fair, verifiable and usable those benchmarks may be, they have certain drawbacks. On the one hand a new implementation may be biased to provide good results for a specific benchmark. On the other hand benchmarks are very general and often fail to identify the worst and best cases of a specific implementation. In this paper we present a new approach for the comparison of algorithms and data structures on the implementation level using code coverage. Our approach uses model checking and multi-objective evolutionary algorithms to create test cases with a high code coverage. It then executes each of the given implementations with each of the test cases in order to calculate a cross coverage. Using this it calculates a combined coverage and weighted performance where implementations, which are not fully covered by the test cases of the other implementations, are punished. These metrics can be used to compare the performance of several implementations on a much deeper level than traditional benchmarks and they incorporate worst, best and average cases in an equal manner. We demonstrate this approach by two example sets of algorithms and outline the next research steps required in this context along with the greatest risks and challenges.

URLhttps://dl.acm.org/doi/10.1145/2851553.2858663
DOI10.1145/2851553.2858663
Citation Keymenninghaus_towards_2016