This repository accompanies the research paper:
“Interpretable root cause analysis of drone flight logs”, submitted to [DFRWS EU, 2026].
It contains:
- Source code (
src/) for model training, interpretability, and evaluation. - CLI tool (
src/cli/) to run the proposed forensic method on new evidence. - Datasets (
dataset/,src/evidence/) experimental and case study datasets. - Notebooks (
notebooks/) for statistical analysis, feature attribution, and visualization. - Experiment outputs (
experiments/) where all the experimental results are.
Clone the repository and install dependencies:
git clone https://github.com/yourusername/project-name.git
cd project-name
pip install -e .The -e flag installs the package in editable mode, allowing changes without reinstalling. Dependencies are listed in requirements.txt To install:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtWe provide a single bash script to reproduce all experimental scenarios:
bash train_classifier.shThis will:
- Train classifiers under multiple settings.
- Store results in the
experiments/folder. - Generate trained models that can be reused by the CLI tool.
Analysis of results is available in the notebooks/ folder:
- Performance aggregation (mean ± std)
- Best-performing model analysis
- Feature attribution heatmaps
The forensic tool is provided under the src/cli/ folder. It supports per-evidence log analysis and outputs timelines + reports. See the dedicated CLI README for usage instructions.
dropt/
│
├── dataset/ # training and testing datasets
├── experiments/ # experimental results
├── notebooks/ # analysis & visualization notebooks
├── src/ # source code (models, utils, interpretability, CLI, evidence)
│ ├── cli/ # forensic CLI tool
│ ├── evidence/ # forensic case study data (see evidence/README.md)
│ ├── model.py # model definitions
│ ├── train_classifier.py
│ ├── utils.py
│ └── interpretability.py
│
├── requirements.txt
├── train_classifier.sh
├── README.md # this file