You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 0_Artifact_Testing/README.md
+3-11Lines changed: 3 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
1
# Case Study Artifacts for ICSE 2025 Artifact Evaluation
2
2
3
3
## Overview
4
-
This repository contains the necessary artifacts to reproduce the case study results presented in the associated research paper (Pre-print: https://arxiv.org/abs/2501.12560). The artifacts provided include data files, pre-trained models, and scripts used for the evaluation.
4
+
This repository contains the necessary artifacts to reproduce the case study results presented in the associated research paper (Pre-print: https://arxiv.org/abs/2501.12560). The artifacts provided include data (extracted features), pre-trained models, and scripts used for the evaluation.
5
5
6
-
**Note:** This package focuses on reproducing the case study results (included in the paper) due to the computational and time-intensive nature of processing the entire dataset.
6
+
**Note:** This package focuses on reproducing the case study results (included in the paper) due to the computational and time-intensive nature of processing the entire dataset. To reduce computational overhead, we provided extracted dynamic and static features from the sample PixelCNN model. These pre-processed features allow the scripts to run efficiently while producing the same results as those discussed in the paper.
7
7
8
8
---
9
9
@@ -106,13 +106,5 @@ Upon running the provided scripts, the following outputs will be generated:
106
106
107
107
---
108
108
109
-
## Known Limitations
110
-
- Full experiment replication requires access to high-performance computing resources (e.g., Compute Canada).
111
-
- To reduce computational overhead, we provided extracted dynamic and static features from the sample PixelCNN model. These pre-processed features allow the scripts to run efficiently while producing the same results as those discussed in the paper.
112
-
113
-
---
114
-
115
109
## Verifying the Results
116
-
The provided artifacts enable reviewers to reproduce and verify the results of the case study without referring to the paper. Simply run the scripts as instructed above, and compare the generated outputs (fault detection, fault categorization, and root cause analysis) with the expected results outlined in this document.
117
-
118
-
By following the steps and using the provided artifacts, reviewers can confirm the validity of the methodologies and results presented in the research paper.
110
+
The provided artifacts enable reviewers to reproduce and verify the results of the case study without referring to the paper. Simply run the scripts as instructed above, and compare the generated outputs (fault detection, fault categorization, and root cause analysis) with the expected results outlined in this document. By following the steps and using the provided artifacts, reviewers can confirm the validity of the methodologies and results presented in the research paper.
Copy file name to clipboardExpand all lines: README.md
+13-10Lines changed: 13 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,11 @@
1
1
# **Replication Package for DEFault**
2
2
3
-
Welcome to the replication package for **DEFault**, a framework designed to improve the detection and diagnosis of faults in Deep Neural Networks (DNNs). This repository provides all the necessary code and data to reproduce the experiments from our paper, which has been accepted in ICSE - Research Track 2025. Pre-print: https://arxiv.org/abs/2501.12560
3
+
Welcome to the replication package for **DEFault**, a framework designed to improve the detection and diagnosis of faults in Deep Neural Networks (DNNs). This repository provides all the necessary code and data to reproduce the experiments from our paper, which has been accepted in ICSE - Research Track 2025.
4
4
5
5
**"Improved Detection and Diagnosis of Faults in Deep Neural Networks using Hierarchical and Explainable Classification."**
6
6
7
+
Pre-print of the paper can be found: https://arxiv.org/abs/2501.12560
8
+
7
9
---
8
10
## **How DEFault Works**
9
11
@@ -69,9 +71,10 @@ The figure below illustrates the workflow of DEFault, showing its fault detectio
69
71
-**C_RootCauseAnalysis/**: Root cause analysis scripts.
70
72
-**`e_Evaluation/`**: Scripts to evaluate DEFault on real-world and seeded faults.
71
73
-**`f_Figures/`**: Figures used in the paper.
72
-
-**`g_Dataset/`**: Labeled datasets for training and evaluation.
74
+
-**`g_Dataset/`**: Labeled datasets for training and testing.
73
75
-**`h_CohenKappaAnalysis/`**: Scripts for dataset consistency validation using Cohen's Kappa.
74
76
-**`i_CaseStudy/`**: Scripts for case studies on real-world models (e.g., PixelCNN).
77
+
-**`j_HPC_Slurm/`**: Example Script for Slurm job on Compute Canada with all the configuration.
75
78
76
79
---
77
80
@@ -80,7 +83,7 @@ The figure below illustrates the workflow of DEFault, showing its fault detectio
80
83
### **Operating System**
81
84
Tested on:
82
85
- Ubuntu 20.04 LTS or later
83
-
-CentOS 7+ (for HPC environments such as Compute Canada)
86
+
- HPC environments such as Compute Canada (Graham Cluster)
84
87
85
88
Compatible with:
86
89
- Windows 10/11 (via Windows Subsystem for Linux - WSL2)
@@ -95,11 +98,11 @@ Compatible with:
95
98
96
99
**Recommended:**
97
100
- GPU: NVIDIA with CUDA support
98
-
- HPC access (e.g., Compute Canada) for large-scale execution
101
+
- HPC access (e.g., Compute Canada) for complete experiment
99
102
100
103
### **Software Requirements**
101
104
102
-
-**Python Version:** 3.8 or later
105
+
-**Python Version:** 3.10 or later
103
106
-**Dependencies:** Install via `requirements.txt`:
104
107
```bash
105
108
pip install -r requirements.txt
@@ -114,15 +117,15 @@ default_env\Scripts\activate # On Windows
114
117
115
118
---
116
119
117
-
## **Usage: Whole Dataset vs. Sample Data**
120
+
## **Usage: Complete Experiment vs. Lightweight Verification**
118
121
119
122
**Important:**
120
-
- Running the **whole dataset** requires significant computational resources and time.
121
-
- Running the **sample data** is **recommended**, as it provides a quick and effective way to verify the framework's functionality.
123
+
- Running the **Complete Experiment** on the whole dataset requires significant computational resources and time.
124
+
- Running the **Lightweight Verification** on a sample DNN program is **recommended**, as it provides a quick and effective way to verify the framework's functionality.
122
125
123
126
---
124
127
125
-
## **Usage: Sample Data**
128
+
## **Usage: Lightweight Verification**
126
129
127
130
The 0_Artifact_Testing directory provides all necessary artifacts to reproduce case study results with minimal computational overhead. It includes:
128
131
@@ -137,7 +140,7 @@ The expected result for the sample data is provided inside the directory.
This repository includes a **SLURM job script** (`run_script.slurm`) designed to execute scripts efficiently on **Compute Canada’s HPC clusters** (e.g., **Graham, Narval, Beluga**). The script automates **job scheduling, dependency setup, execution, and runtime tracking**, making it suitable for running our workflow.
5
+
6
+
---
7
+
8
+
## **Usage Instructions**
9
+
10
+
### **1. Preparing the Environment**
11
+
Before submitting the job, ensure:
12
+
- You have access to a **Compute Canada account**.
13
+
- You are working within a **Linux-based HPC environment** that supports **SLURM job scheduling**.
14
+
- Your scripts and dependencies are ready to run.
15
+
16
+
---
17
+
18
+
### **2. Creating the SLURM Script**
19
+
We provided `run_script.slurm` as an example script used in our experiment. Modify the script based on your specific requirements:
20
+
-**Job Name**: Update `--job-name=example_task`.
21
+
-**Email Notifications**: Replace `your_email@domain.com` with your email.
22
+
-**Account Name**: Update `--account=your_account_name` to your Compute Canada account.
23
+
-**Script Execution**: Change `python your_script.py your_parameters` to match your script and arguments.
24
+
-**Dependencies**: Modify the `pip install` command as needed.
25
+
26
+
---
27
+
28
+
### **4. Submitting the Job**
29
+
Once configured, submit the SLURM script to the cluster:
30
+
```bash
31
+
sbatch run_script.slurm
32
+
```
33
+
34
+
To check job status:
35
+
```bash
36
+
squeue --me
37
+
```
38
+
39
+
To cancel a running job:
40
+
```bash
41
+
scancel JOB_ID
42
+
```
43
+
44
+
---
45
+
46
+
### **5. Viewing Job Output**
47
+
SLURM automatically generates log files for job execution. These can be accessed using:
48
+
```bash
49
+
cat slurm-<job_id>.out
50
+
```
51
+
Replace `<job_id>` with the actual job number assigned by SLURM.
52
+
53
+
---
54
+
55
+
### **6. Expected Runtime**
56
+
-**Full-scale replication** (complete dataset): Can take several days, depending on workload and hardware availability. For optimal performance, **running on Compute Canada’s GPU-enabled nodes (P100, V100, or T4) is recommended**.
57
+
58
+
---
59
+
60
+
For further assistance, refer to Compute Canada’s **[SLURM Job Submission Guide](https://docs.computecanada.ca/wiki/Running_jobs)**.
0 commit comments