AdaptCI-XAI / README.md
MaryAngel's picture
Upload folder using huggingface_hub
a39899b verified
metadata
language: en
license: mit
tags:
  - ci-cd
  - github-actions
  - bert
  - lora
  - peft
  - xai
  - explainable-ai
  - text-classification
  - software-engineering
datasets:
  - facebook/react
metrics:
  - f1
  - accuracy
model-index:
  - name: AdaptCI-XAI
    results:
      - task:
          type: text-classification
        metrics:
          - type: f1
            value: 0.7124

AdaptCI-XAI: CI Pipeline Failure Classifier

Research project: IS 8101 — Sabaragamuwa University of Sri Lanka Student: Mary Angel Anton Premathas (20APC4548) Paper: AdaptCI-XAI: Explainable AI for CI Pipeline Failure Diagnosis using Transformer-Based Models on GitHub Actions

What this model does

Classifies GitHub Actions CI/CD pipeline failure logs into 4 categories:

Label Description
config_error Malformed YAML, outdated action versions
dependency_failure npm/pip install failures, missing packages
test_failure Unit/integration test failures, type errors
infrastructure Runner timeout, OOM, network errors

How to use

from transformers import pipeline
clf = pipeline("text-classification", model="MaryAngel/AdaptCI-XAI")
result = clf("npm ERR ENOENT no such file or directory node_modules/react")
print(result)
# [{'label': 'dependency_failure', 'score': 0.94}]

Training details

  • Base model: bert-base-uncased
  • Fine-tuning: LoRA (r=8, alpha=16, target=query+value layers)
  • Trainable parameters: ~0.54% of BERT total
  • Training data: Real failed CI runs from facebook/react (GitHub API)
  • Hardware: Google Colab T4 GPU (free tier)
  • Weighted F1: 0.7124

Novelty

  1. First LoRA fine-tuning applied to CI/CD log classification
  2. First SHAP attribution on CI/CD failure predictions
  3. First expertise-aware (novice) adaptive explanation system for CI/CD
  4. Multi-source labelling: log text + workflow name + step name signals
  5. Fully reproducible on FREE hardware (Colab T4 + HF)

XAI

Each prediction includes SHAP token attribution showing which log words drove the classification decision — making the black-box model transparent to developers.