Published October 9, 2022 | Version v1
Conference paper Open

SlowCoach: Mutating Code to Simulate Performance Bugs

  • 1. School of Computing and Communications, Lancaster University, United Kingdom
  • 2. TU Darmstadt, Germany
  • 3. University of Naples Federico II, Italy

Description

Performance bugs are unnecessarily inefficient code chunks in software codebases that cause prolonged execution times and degraded computational resource utilization. For performance bug diagnostics, tools that aid in the identification of said bugs, such as benchmarks and profilers, are commonly employed. However, due to factors such as insufficient workloads or ineffective benchmarks, software defects related to code inefficiencies are inherently difficult to diagnose. Hence, the capabilities of performance bug diagnostic tools are limited and performance bug instances may be missed. Traditional mutation testing (MT) is a technique for quantifying a test suite’s ability to find functional bugs by mutating the code of the test subject. Similarly, we adopt performance mutation testing (PMT) to evaluate performance bug diagnostic tools and identify where improvements need to be made to a performance testing methodology. We carefully investigate the different performance bug fault models and how synthesized performance bugs based on these models can evaluate benchmarks and workload selection to help improve performance diagnostics. In this paper, we present the design of our PMT framework, SLOWCOACH, and evaluate it with over 1600 mutants from 4 real-world software projects.

Files

yq-slowcoach.pdf

Files (397.5 kB)

Name Size Download all
md5:2288413de0fe7bd4e3bd292b2be12d0a
397.5 kB Preview Download

Additional details

Funding

CONCORDIA – Cyber security cOmpeteNCe fOr Research anD InnovAtion 830927
European Commission