9.5 KiB
9.5 KiB
file:: SANER2024_paper_2_1700084195552_0.pdf file-path:: ../assets/SANER2024_paper_2_1700084195552_0.pdf
- Cross-project software defect prediction (CPDP) is a method that mainly solves the problem of training software defect models, using only known software projects (source projects), when the project to be predicted (target project) is unknown. ls-type:: annotation hl-page:: 1 hl-color:: green id:: 656b4789-ef23-41c7-b111-44b51464cd37
- cross-project software defect predictio ls-type:: annotation hl-page:: 1 hl-color:: green id:: 656b47a0-4032-4755-9756-2d95a5b6af91
- The next step is to improve the graph neural network using the generative adversarial method ls-type:: annotation hl-page:: 1 hl-color:: green id:: 656b47bf-b394-46c3-9c7c-9d15a8b740e6
- feature learning network, discriminator network, and classification network ls-type:: annotation hl-page:: 1 hl-color:: purple id:: 656b47c9-13eb-470a-89e0-4c92fabd6154
- Software defects have always been a headache, seriously affecting the quality of software, and resulting in considerable economic losses ls-type:: annotation hl-page:: 1 hl-color:: green id:: 656b526a-a34a-4b1f-99c4-506e69f42cd8
- software defect prediction ls-type:: annotation hl-page:: 1 hl-color:: green id:: 656b52cf-2992-4e98-b033-1f627fa51465
- This method uses the software project with known features and defect labels as the source project to train the software defect model ls-type:: annotation hl-page:: 1 hl-color:: blue id:: 656b7bef-29f8-4a65-9f84-6d7e234800c5
- Filtering related datasets involves using projects or instances in the source project with a degree of similarity to that of the target project, with the objective to use this as a training se ls-type:: annotation hl-page:: 1 hl-color:: green id:: 656ba6c8-0d48-400d-ba1d-429188e3e3ce
- Jureczko et al. [2] used hierarchical clustering and K-means to cluster projects and then used the Kohonen neural network to differentiate whether a cluster was for defect predictio ls-type:: annotation hl-page:: 1 hl-color:: green id:: 656bbe58-ce3e-4a6a-92b4-3bf813607202
- l, so they selected 40 features to describe the domains, processes, and data of each project and validated the similarity between projects through a series of steps ls-type:: annotation hl-page:: 1 hl-color:: green id:: 656bbe71-db20-48f5-9608-a81212706c5b
- ect. The challenge is to build the model with a consistent distribution of data across pr ls-type:: annotation hl-page:: 1 hl-color:: purple id:: 656c6076-eef6-4ae9-b98c-f35dc9a90bb8
- pre-filtering datasets ls-type:: annotation hl-page:: 1 hl-color:: green id:: 656c608a-44e9-471a-9bda-bd4464ed1537
- transforming data distribut ls-type:: annotation hl-page:: 1 hl-color:: green id:: 656c6090-0515-4894-abbe-b396e8bb0ac5
- Zimmermann et al. [3] believed that selecting source projects arbitrarily or based on the same domain was not practic ls-type:: annotation hl-page:: 1 hl-color:: blue id:: 656c60d7-3b50-470f-8d41-4f36d1c26f31
- , to select the cluster containing the instance of the target project, and finally find the instance closest to the test instance, from the cluster as the training datas ls-type:: annotation hl-page:: 1 hl-color:: green id:: 656c6181-3056-4382-ad74-7a1ffaec30d8
- The method of transforming data distribution involves transforming the data distribution of the measurement elements before establishing the model so that the source project and the target project have similar distribu ls-type:: annotation hl-page:: 1 hl-color:: green id:: 656c66ac-959d-48ae-b5a3-6a3e7657d3bc
- nt. LSKDSA not only reduces the data distribution difference between the source and target projects but also characterizes complex data structures, increasing the probability of data being linearly separ ls-type:: annotation hl-page:: 2 hl-color:: green id:: 656c66e6-8da3-4f15-a55a-9e13f30e1224
- combined transfer learning with cross-project software defect prediction to map the original feature spaces of the source and target projects into the same space ls-type:: annotation hl-page:: 2 hl-color:: blue id:: 656c6774-257a-49e0-9016-6e5f1b18e7d1
- e performance of intra-project and cross-project defect prediction compared to other method ls-type:: annotation hl-page:: 2 hl-color:: green id:: 656c67ac-5716-41ad-82d4-174d61423919
- the data difference ls-type:: annotation hl-page:: 2 hl-color:: yellow id:: 656c67b7-bd33-4095-a5cb-9c8b3b9f2c01
- GAN network ls-type:: annotation hl-page:: 2 hl-color:: green id:: 656c67d5-176a-4459-9138-3fac65c31f1f
- data transfer or feature selection is conducted on the data of the source and target projects to eliminate differences in data distributi ls-type:: annotation hl-page:: 2 hl-color:: green id:: 656c6810-7fba-4d8b-8d2b-8e0a90e410a5
- GIN (Graph Isomorphism Network) [18 ls-type:: annotation hl-page:: 2 hl-color:: blue id:: 656c6852-42eb-4df8-a10a-60ae28fe8cf9
- f image synthesis ls-type:: annotation hl-page:: 3 hl-color:: green id:: 656ce3ae-f13f-4597-ae87-30d3562d702c
- generator used to generate fake d ls-type:: annotation hl-page:: 3 hl-color:: green id:: 656ce3c0-694c-4e28-8240-adada53bda7c
- discriminator used to distinguish between real and fake data ls-type:: annotation hl-page:: 3 hl-color:: blue id:: 656ce3cc-d092-4aab-b8ba-b2131f0ec8bf hl-stamp:: 1701635026062
- . In the GAN model, it is important to consider the structure of the real data (image, text, graph structure, etc.) when setting the parameters of the generator network, and then use the discriminator to differentiate between real and fake dat ls-type:: annotation hl-page:: 3 hl-color:: green id:: 656ce713-7153-4057-86c1-5f4b12a27d8c
- generative adversarial learning to learn node feature vectors and eliminate data distribution differences between pro ls-type:: annotation hl-page:: 3 hl-color:: purple id:: 656ce737-2cd4-42ce-8110-b45d6059673f
- he feature learning net ls-type:: annotation hl-page:: 3 hl-color:: green id:: 656ce798-e749-4204-93c0-067d927517f8
- s. The node feature vectors are input into the discriminator network and classification network respectivel ls-type:: annotation hl-page:: 3 hl-color:: yellow id:: 656ce7ac-b2e3-4a83-a467-f892a7949d4c
- Ⅰ ls-type:: annotation hl-page:: 5 hl-color:: red id:: 656cecff-bba4-44fe-9019-594895afa7d6
- Defect rate ls-type:: annotation hl-page:: 5 hl-color:: yellow id:: 656ced0b-6831-4dd8-8116-a60300ca3fd1
- defect metrics of nodes into the KNN algor ls-type:: annotation hl-page:: 5 hl-color:: green id:: 656ced2f-95d9-48d6-8ae5-bb81951b411b
- n nodes with similar Euclidean distance from the source project that match the target project nodes as the training set ls-type:: annotation hl-page:: 5 hl-color:: green id:: 656ced36-64f4-4f3d-ba51-35bfa2a4a379
- is chapt ls-type:: annotation hl-page:: 5 hl-color:: red id:: 656ced59-8613-4e84-bd37-2fa299048aea
- Experiment was conducted on Windows operating system using Python programming language. The graph neural network model was built using PyTorch and torch-geometric package. The comparison experiments were also implemented using Pyth ls-type:: annotation hl-page:: 5 hl-color:: yellow id:: 656cfa50-1fa2-4cce-98f9-04aabaa6ff05 hl-stamp:: 1701640787452
- six projects from the dataset ls-type:: annotation hl-page:: 5 hl-color:: yellow id:: 656cfafa-d344-4e36-9ce0-454feaa5e614 hl-stamp:: 1701640956180
- TABLE I. PROJECT INTRODUCTION ls-type:: annotation hl-page:: 5 hl-color:: yellow id:: 656cfb59-6774-46c3-bbd9-376481ba7855
- . The discriminator will distinguish whether the nodes come from the source project or the target project, so in order to balance the training speed, it is necessary to adjust the learning rat ls-type:: annotation hl-page:: 5 hl-color:: green id:: 656cfc9d-b4b2-4182-918f-958cfd84c590
- . The settings of other parameters are default settings ls-type:: annotation hl-page:: 5 hl-color:: green id:: 656cfca6-65f7-450e-b16b-036274dea75c
- n_clu ls-type:: annotation hl-page:: 6 hl-color:: red id:: 656cfce6-86d0-4ff2-84bb-46d17611e38e
- e set to default values without any specific modification ls-type:: annotation hl-page:: 6 hl-color:: yellow id:: 656cfd0f-53cc-4fcd-a4bd-39c13df319b2
- The dataset is sourced from the Promise dataset, and six projects were selected for experimenta ls-type:: annotation hl-page:: 6 hl-color:: yellow id:: 656cfd2e-f621-441d-86de-ba520b181053
- cts. For example, when Ant is the target project for defect prediction, Camel, Lucene, Synapse, Velocity, and Ivy are used as the source projects for traini ls-type:: annotation hl-page:: 6 hl-color:: yellow id:: 656cfdd0-4622-4406-80ff-601b74818c49
- ts. For example, when Ant is the target project for defect prediction, all graph structures of Camel, Lucene, Synapse, Velocity, and Ivy are used as the training set. ls-type:: annotation hl-page:: 6 hl-color:: yellow id:: 656cfe55-696b-43a1-8698-de48258081c0
- ws: firstly, the software in the source project and the target project are mapped into graph structures, and the community division algorithm is used to divide the graph structure into subgra ls-type:: annotation hl-page:: 1 hl-color:: yellow id:: 6573334a-93e2-4bfd-9cbc-97b49a8726c6
- ls-type:: annotation hl-page:: 3 hl-color:: yellow id:: 65734553-2a35-45b3-845e-059344acebf2 3. Firstly, multiple subgraphs are obtained by mapping the software through data preprocessing.