Change Impact using Dynamic History Analysis: (Abstract Only)
暂无分享,去创建一个
As the complexity of software systems grows, it becomes increasingly difficult for developers to be aware of all the dependencies that exist between a system's artifacts (e.g., its files or methods). Change impact analysis has been proposed as a technique to overcome this problem, as it suggests to a developer relevant source-code artifacts related to his/her changes. Association rule mining has shown promise for determining change impact by uncovering relevant patterns in a system's change history. State-of-the-art change impact mining typically makes use of a history of tens of thousands of transactions. This makes a priori generation of all possible rules costly and thus led to the introduction of targeted association rule mining, which only generates rules for transactions relevant to a particular query. Because the set of relevant transactions is much smaller than the complete history, these algorithms are more efficient. However, they still require processing the history's complete set of relevant transactions. Our work considers the dynamic selection of relevant transactions. It can be viewed as a further constrained version of targeted association rule mining, in which as few as a single relevant transaction might be considered when determining change impact. This initial look at dynamic algorithms empirically studies seven algorithm families. These are referred to as families because some are parameterized and thus give rise to multiple algorithms. Using over 20,000 queries from 19 systems, we empirically show that dynamic algorithms are viable, can be just as applicable as start-of-the-art algorithms, and even outperform them for certain queries.