Font Size: a A A

Genetic Programming Based Just-in-Time Defect Prediction

Posted on:2021-12-19Degree:MasterType:Thesis
Country:ChinaCandidate:H Y ChengFull Text:PDF
GTID:2518306194975929Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Software applications can be found anywhere.Source code of software can be changed many times to meet the need of people or improve the quality during their lifecycle.When code changes,defects that affect software may be introduced.So it is important to find out how to ensure and improve software quality.Many researchers have studied the area of software quality and one of the key problems is how to deal with defects.Now the area of software quality has many subareas such as defect localization,defect prediction,and automatic repair.In recent years,just-in-time defect prediction attracts many attentions in the defect prediction area.Just-in-time defect prediction emphasizes on fine-grained prediction units aiming at finding out defects within limited efforts.Several companies like Cisco,have applied the just-in-time defect prediction in their products.This paper proposes a technique that combines genetic programming with local search to address the problem of just-in-time defect prediction.This technique focuses on fine-grained changes.Compared with the state-of-the-art techniques,the proposed technique achieves a high performance and improves the precision of prediction.This makes the just-in-time defect prediction practical.In this technique,14 features of the change are extracted;then chromosomes are generated to connect feature values with four operations of addition,subtraction,multiplication,and division.In the genetic programming,a fitness function is set to guide the search of chromosomes;meanwhile,operations of crossover and mutation on chromosomes are used to generate new chromosomes.Then the local search operator is used to choose chromosomes and find out the best chromosome in its neighborhood according to the fitness function.After the iteration of multiple generations,the available best chromosome is returned to the developer as the final result.This chromosome can assist developers to effectively find out the changes that may introduce defects.In the experiment,the proposed technique is evaluated by such measurements: precision,recall,accuracyof20(the ratio of discovered defects while spending 20% of total efforts),etc.The technique is compared with the state-of-the-art techniques,such as a logistic regression technique EALR,an unsupervised learning algorithm LT,and a supervised algorithm One Way.Results show that the proposed technique can achieve high precision in finding out defects.The genetic programming based just-in-time prediction can help developers find out potential defects in code changes;the proposed technique may be applied in defect prediction in practice.
Keywords/Search Tags:defect prediction, genetic programming, fine-grained prediction, local search, just-in-time code changes
PDF Full Text Request
Related items