<p>Regression testing is necessary in modern software development with continuous integration and delivery, but running it in full after every change is often too expensive. Test case prioritisation (TCP) can aid this process by prioritising test cases that reveal faults earliest. Still, current TCP approaches focus on single information sources (coverage, change history, and/or past faults) and do not model semantic relationships across software artefacts. Meanwhile, current deep learning–based methods still suffer from cross–project generalisation and misinterpretation. These gaps can be alleviated with BugPrioritizeAI, an explainable, multimodal TCP framework we propose that jointly uses bug reports, source code changes, and test metadata to rank test cases. At the core of BugTestRankNet is a component responsible for generating a priority score that allows for quicker fault detection. BugPrioritizeAI is an AI-enhanced approach to bug triage that operates at the bug report level and ranks potentially buggy files in the bug repo using textual features. This framework reduces testing overhead and provides SHAP-based explanations, giving developers insight into the reasons for prioritising individual test cases.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

BugPrioritizeAI for multimodal test case prioritisation using bug reports, code changes, and test metadata

  • P. Kalyani,
  • C. Prakasa Rao,
  • Bhargavi Goparaju,
  • Kommu Kishore Babu,
  • Purna Chandra Rao Kandimalla

摘要

Regression testing is necessary in modern software development with continuous integration and delivery, but running it in full after every change is often too expensive. Test case prioritisation (TCP) can aid this process by prioritising test cases that reveal faults earliest. Still, current TCP approaches focus on single information sources (coverage, change history, and/or past faults) and do not model semantic relationships across software artefacts. Meanwhile, current deep learning–based methods still suffer from cross–project generalisation and misinterpretation. These gaps can be alleviated with BugPrioritizeAI, an explainable, multimodal TCP framework we propose that jointly uses bug reports, source code changes, and test metadata to rank test cases. At the core of BugTestRankNet is a component responsible for generating a priority score that allows for quicker fault detection. BugPrioritizeAI is an AI-enhanced approach to bug triage that operates at the bug report level and ranks potentially buggy files in the bug repo using textual features. This framework reduces testing overhead and provides SHAP-based explanations, giving developers insight into the reasons for prioritising individual test cases.