241 lines
9.5 KiB
Markdown
241 lines
9.5 KiB
Markdown
file:: [SANER2024_paper_2_1700084195552_0.pdf](../assets/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. |