Skip to content
#federated learning Open access

Robust Federated Learning for Detecting False Data Injection Attacks in Advanced Metering Infrastructure under Non-IID Data — Source Code

Sep 2026 · Zenodo (CERN European Organization for Nuclear Research)

Abstract

This repository contains the complete source code for the paper "Robust Federated Learning for Detecting False Data Injection Attacks in Advanced Metering Infrastructure under Non-IID Data." The framework couples a lightweight two-branch GRU local detector with a server-side robust aggregation pipeline (per-client EMA smoothing, client-level trimmed filtering, and deviation-aware cosine weighting) to detect false data injection attacks (FDIA) in advanced metering infrastructure under non-IID household data and malicious-client poisoning. Contents: Data preparation: preprocess.py, ami_utils.py, select_households.py, partition_clients.py (ACORN-based non-IID partitioning), windowing.py, temporal_split.py (chronological train/validation/test split with embargo). Attack synthesis: synthesize_fdia.py (scaling, step, and gradual FDIA patterns under a 3-sigma stealth cap); poisoning.py (label flipping, Gaussian noise, parameter scaling, sign flipping, model replacement, min-max/min-sum, and intermittent poisoning). Model and federation: model_gru.py (two-branch GRU detector), fl_client.py and fl_server.py (robust aggregation), aggregators_baselines.py (FedAvg, Krum/Multi-Krum, coordinate-wise median, trimmed-mean, Bulyan, geometric-median/RFA, SCAFFOLD, FLTrust, Cos-Ref, FedCAP, SmartFL), metrics.py. Experiment drivers (one per table/figure): run_main.py, run_poisoning.py, run_ablation.py, run_beta_sweep.py, run_noniid_sweep.py, run_cross_dataset.py, run_scale_efficiency.py, orchestrated by experiment_runner.py. requirements.txt lists all dependencies; random seeds 2026–2030 reproduce the reported runs. Data availability: this deposit contains code only. The Low Carbon London and GoiEner smart-meter datasets are publicly available from their original providers; access instructions are given in the paper's Data Availability Statement.

View source

Similar papers

#machine learning Review Open access Oct 2014

Software development in startup companies: A systematic mapping study

The results indicate that software engineering work practices are chosen opportunistically, adapted and configured to provide value under the constrains imposed by the startup context.

Nicolò Paternoster, Carmine Giardino, M. Unterkalmsteiner et al. · 394 citations · ⚡54
#machine learning Review Open access Jun 2014

Why Early-Stage Software Startups Fail: A Behavioral Framework

This state-of-practice investigation was performed using a literature review followed by a multiple-case study approach and presents how inconsistency between managerial strategies and execution can lead to failure by means of a behavioral framework.

Carmine Giardino, Xiaofeng Wang, P. Abrahamsson · 175 citations · ⚡19
#machine learning Review Open access Oct 2016

“Failures” to be celebrated: an analysis of major pivots of software startups

This study conducts a case survey study based on the secondary data of the major pivots happened in 49 software startups, and demonstrates that customer need pivot is the most common among all pivot types.

Sohaib Shahid Bajwa, Xiaofeng Wang, Anh Nguyen-Duc et al. · 127 citations · ⚡15
#machine learning Review Open access May 2016

Key Challenges in Software Startups Across Life Cycle Stages

It is found that what perceived as biggest challenges by software startups do vary across different life cycle stages, even though its significance decreases when the learning focuses of the startups move from problem to solution and their products mature.

Xiaofeng Wang, Henry Edison, Sohaib Shahid Bajwa et al. · 62 citations · ⚡6

Related blog posts

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.