Metamorphic Coverage

Abstract

Metamorphic testing is a widely used methodology that examines an expected relation between pairs of executions to automatically find bugs, such as correctness bugs. We found that code coverage cannot accurately measure the extent to which code is validated and mutation testing is computationally expensive for evaluating metamorphic testing methods. In this work, we propose Metamorphic Coverage (MC), a coverage metric that examines the distinct code executed by pairs of test inputs within metamorphic testing. Our intuition is that, typically, a bug can be observed if the corresponding code is executed when executing either test input but not the other one, so covering more differential code covered by pairs of test inputs might be more likely to expose bugs. While most metamorphic testing methods have been based on this general intuition, our work defines and systematically evaluates MC on five widely used metamorphic testing methods for testing database engines, compilers, and constraint solvers. The code measured by MC overlaps with the bug-fix locations of 50 of 64 bugs found by metamorphic testing methods, and MC has a stronger positive correlation with bug numbers than line coverage. MC is 4x more sensitive than line coverage in distinguishing testing methods’ effectiveness, and the average value of MC is 6x smaller than line coverage while still capturing the part of the program that is being tested. MC required 359x less time than mutation testing. Based on a case study for an automated database system testing approach, we demonstrate that when used for feedback guidance, MC significantly outperforms code coverage, by finding 41% more bugs. Consequently, this work might have broad applications for assessing metamorphic testing methods and improving test-case generation.

Date
Sep 30, 2026 3:00 PM — 4:00 PM
Event
Weekly Talk
Location
COM3-02-59

Speaker Info:

Jinsheng Ba is an Assistant Professor in the School of Data Science at the Chinese University of Hong Kong, Shenzhen. His research interests span Software Engineering and LLM, with a specific focus on observing, manipulating, and shaping software behaviors at a semantic level to enhance the reliability and correctness of critical data- and AI-driven systems. All of his research has been published in top-tier venues, including ICSE, SIGMOD, and Usenix Security. As the first author, he is the recipient of two ACM SIGSOFT Distinguished Paper Awards at ICSE 2023 and ASE 2022 and was nominated for the Best Ph.D. Thesis Award. His research led to the discovery of over 200 previously unknown bugs and vulnerabilities in widely used fundamental software systems. Prior to joining CUHK-Shenzhen, he was a postdoctoral researcher at ETH Zurich, advised by Prof. Zhendong Su. He received his Ph.D. degree in Computer Science from National University of Singapore in 2024, advised by Dr. Manuel Rigger.

Jinsheng Ba
Jinsheng Ba
Ph.D. Student

Jinsheng Ba is an Ph.D. student working on fuzzing.