MR-Coupler: Automated Metamorphic Test Generation via Functional Coupling Analysis

· Source: cs.AI updates on arXiv.org · Field: Technology & Digital — Artificial Intelligence & Machine Learning, Software Development & Engineering · Depth: Expert, extended

Summary

MR-Coupler is a novel automated approach designed to generate metamorphic test cases (MTCs) by analyzing functional coupling between methods within source code. This technique addresses the "oracle problem" in software testing, where expected outputs are difficult to specify. MR-Coupler operates in three phases: identifying functionally coupled method pairs based on signature commonality, function calls, and state interactions; using large language models (LLMs) to generate candidate MTCs with contextual guidance and refinement; and finally, amplifying and validating these MTCs through mutation analysis. Evaluation on 100 human-written MTCs and 50 real-world bugs demonstrated that MR-Coupler generates valid MTCs for over 90% of tasks, improving valid MTC generation by 64.90% and reducing false alarms by 36.56% compared to baselines. The generated MTCs also detected 44% of the real bugs, highlighting the approach's effectiveness and potential for practical adoption.

Key takeaway

For software engineers and QA teams struggling with the test oracle problem, MR-Coupler offers a practical solution to automate metamorphic test case generation. By leveraging functional coupling and LLMs, you can significantly reduce manual effort in creating effective metamorphic relations. Consider integrating this approach to enhance test adequacy and bug detection, especially for complex systems where expected outputs are hard to define, thereby improving your software's reliability.

Key insights

Functional coupling between methods can automate metamorphic relation construction and MTC generation, addressing the test oracle problem.

Principles

Method

MR-Coupler identifies coupled methods, prompts LLMs for MTC generation with invocation examples and templates, then refines and validates MTCs using input amplification and mutation analysis.

In practice

Topics

Code references

Best for: AI Scientist, Research Scientist, Software Engineer

Related on AIssential

Open in AIssential →

Editorial summary, takeaway, and curation by AIssential. Original article published by cs.AI updates on arXiv.org.