A Novel Approach for Automated Design Information Mining from Issue Logs
Jiuang Zhao, Zitian Yang, Li Zhang, Xiaoli Lian, Donghao Yang
TL;DR
This work addresses the scarcity and erosion of software design rationales by automatically mining latent rationales from Jira issue logs. It introduces DRMiner, a three-stage pipeline combining prompt-tuned language models and task-specific features to extract design-related sentences, pair them to reveal relational structure, and construct complete design rationales. A benchmark dataset of 2092 sentences from 30 issues across Flink, Cassandra, and Solr is presented, with DRMiner achieving a design-rationale F1 of $0.65$, outperforming baselines and enhancing automated program repair by leveraging mined rationales. The findings demonstrate the practical value of design-level knowledge for maintenance and repair, and point to future work on building dynamic, cross-community repositories of design rationale knowledge.
Abstract
Software architectures are usually meticulously designed to address multiple quality concerns and support long-term maintenance. However, due to the imbalance between the cost and value for developers to document design rationales (i.e., the design alternatives and the underlying arguments for making or rejecting decisions), these rationales are often obsolete or even missing. The lack of design knowledge has motivated a number of studies to extract design information from various platforms in recent years. Unfortunately, despite the wealth of discussion records related to design information provided by platforms like open-source communities, existing research often overlooks the underlying arguments behind alternatives due to challenges such as the intricate semantics of discussions and the lack of benchmarks for design rationale extraction. In this paper, we propose a novel method, named by DRMiner, to automatically mine latent design rationales from developers' live discussion in open-source community (i.e., issue logs in Jira). To better identify solutions and the arguments supporting them, DRMiner skillfully decomposes the problem into multiple text classification tasks and tackles them using prompt tuning of language models and customized text-related features. To evaluate DRMiner, we acquire issue logs from Cassandra, Flink, and Solr repositories in Jira, and then annotate and process them under a rigorous scheme, ultimately forming a dataset for design rationale mining. Experimental results show that DRMiner achieves an F1 score of 65% for mining design rationales, outperforming all baselines with a 7% improvement over GPT-4.0. Furthermore, we investigate the usefulness of the design rationales mined by DRMiner for automated program repair (APR) and find that the design rationales significantly enhance APR, achieving 14 times higher full-match repairs on average.
