Defect Reduction Planning (using TimeLIME)

06/12/2020
by   Kewen Peng, et al.
0

Software comes in releases. An implausible change to software is something that has never been changed in prior releases. When planning how to reduce defects, it is better to use plausible changes, i.e., changes with some precedence in the prior releases. To demonstrate these points, this paper compares several defect reduction planning tools. LIME is a local sensitivity analysis tool that can report the fewest changes needed to alter the classification of some code module (e.g., from "defective" to "non-defective"). TimeLIME is a new tool, introduced in this paper, that improves LIME by restricting its plans to just those attributes which change the most within a project. In this study, we compared the performance of LIME and TimeLIME and several other defect reduction planning algorithms. The generated plans were assessed via (a) the similarity scores between the proposed code changes and the real code changes made by developers; and (b) the improvement scores seen within projects that followed the plans. For nine project trails, we found that TimeLIME outperformed all other algorithms (in 8 out of 9 trials). Hence, we strongly recommend using past releases as a source of knowledge for computing fixes for new releases (using TimeLIME). Apart from these specific results about planning defect reductions and TimeLIME, the more general point of this paper is that our community should be more careful about using off-the-shelf AI tools, without first applying SE knowledge. In this case study, it was not difficult to augment a standard AI algorithm with SE knowledge (that past releases are a good source of knowledge for planning defect reductions). As shown here, once that SE knowledge is applied, this can result in dramatically better systems.

READ FULL TEXT

page 6

page 11

research
03/15/2020

How to Improve AI Tools (by Adding in SE Knowledge): Experiments with the TimeLIME Defect Reduction Tool

AI algorithms are being used with increased frequency in SE research and...
research
08/17/2017

Learning Effective Changes For Software Projects

The current generation of software analytics tools are mostly prediction...
research
12/09/2019

Is AI different for SE?

What AI tools are needed for SE? Ideally, we should have simple rules th...
research
04/23/2020

Love, Joy, Anger, Sadness, Fear, and Surprise: SE Needs Special Kinds of AI: A Case Study on Text Mining and SE

Do you like your code? What kind of code makes developers happiest? What...
research
08/08/2018

A Case Study on the Impact of Similarity Measure on Information Retrieval based Software Engineering Tasks

Information Retrieval (IR) plays a pivotal role in diverse Software Engi...
research
12/20/2019

Assessing Practitioner Beliefs

Just because software developers say they believe in "X" that does not n...
research
01/22/2016

Coalition-based Planning of Military Operations: Adversarial Reasoning Algorithms in an Integrated Decision Aid

Use of knowledge-based planning tools can help alleviate the challenges ...

Please sign up or login with your details

Forgot password? Click here to reset