Font Size: a A A

The Fractal Property Of Software Systems And Its Applicaiton In Defect Prediction

Posted on:2023-10-16Degree:MasterType:Thesis
Country:ChinaCandidate:T WangFull Text:PDF
GTID:2530306791967949Subject:Engineering
Abstract/Summary:PDF Full Text Request
Complex network has developed rapidly in the past 30 years,which has become a hot research field integrating multiple disciplines.Researchers have been trying to use this theoretical tool with the introduction of complex network theory into the field of software engineering to study various complex software systems.This kind of network representation of a software structure within a particular software system similar to a "complex network" is often referred to as a "software network".In recent years,researchers have studied the complexity of software systems from the perspective of "software network".As a structural representation of software system,software network has three basic characteristics of complex network,small world,scale-free and fractal.As the traditional basic characteristics of complex networks,small world and scale-free have been studied and demonstrated in plenty of literature.In contrast,fractal is a new basic feature of complex networks,which are still scarce in the field of software engineering.And the various properties of fractality are still waiting to be explored.Existing research work on software fractal mainly explores the measurement method of software fractality,which has explored the relationship on software fractality and software system complexity and software quality.However,the current research results are still limited to the class level in the study of software global fractality.Due to the lack of corresponding technology,fractal of software have not been studied from finer level(i.e.,method/attribute level).At the same time,although software fractality can be used to measure software quality,most work is still focused on software complexity by using software fractality.How to apply software fractality to actual quality assurance activities such as defect prediction remains to be studied.It follows that there is still a lot of space for exploration and improvement in the research depth(e.g.,the research based on other finer level software fractality)and the research breadth(e.g.,the application practice of software fractality).We focus on the fractal of classes based on feature(i.e.,method and attribute)level software network.Firstly,the FLSN(Feature Level Software Network)is constructed based on the theory of complex network.Then,the FDC(Fractal Dimension for Classes)is proposed with FLSN as the starting point to explore the fractal of classes,and the relationship between FDC and the complexity and defect tendency of classes is analyzed.The proposed method is proved to be feasible and effective by data experiments of several open-source software projects.We re-examine the fractal and complexity of software from the perspective of feature level,and apply fractal dimension to software quality assurance creatively.The main research contents of this paper are as follows,1)The fractal property of software based on feature level software networkWe analyze the fractal of software system classes based on feature(i.e.,method and attribute)level software network(FLSN).FLSN takes the features of a class as nodes,and the dependencies between features(i.e.,MEC between methods and ACC between methods and attributes)as edges.Based on FLSN,FDC is proposed to measure the fractal of classes,and the properties and validity of FDC metric element are verified theoretically and experimentally.Theoretical studies show that FDC meets eight of Weyuker’s nine standards and is a complexity measure supported by Weyuker’s theory.At the same time,data experiments on 18 open-source software projects,show that FDC can describe a new dimension of class complexity that has not been described by traditional class complexity metric element.Moreover,there is a strong correlation between FDC metric element and the number of class defects.2)Effort-aware bug prediction approach based on FDCWe construct a effort-aware bug prediction model based on FDC metric and traditional class complexity metrics,which is used to predict defects in a class considering efforts.Firstly,the software structure is expressed as FLSN,and then the FDC of each class is calculated.Then,a PCDNet(Precise Class Dependency Network)is built by extracting the required information of each class from the software system,and the metrics of each class are calculated by PCDNet to build the model.Finally,logistic regression model was used to evaluate the relative risk(defect propensity)of introducing defects for each class.We tested the validity of the method using a dataset of 17 open-source software projects.Friedman tests show that FDC metrics can improve the effectiveness of existing effort-aware bug prediction models and provide better results in software defect prediction.
Keywords/Search Tags:fractal dimension, complex networks, software networks, software metrics, bug prediction
PDF Full Text Request
Related items