Correct orchestration of federated learning generic algorithms: Python translation to CSP and verification by PAT

Federated learning (FL) is a machine learning setting where clients keep the training data decentralized and collaboratively train a model either under the coordination of a central server (centralized FL) or in a peer-to-peer network (decentralized FL). Correct orchestration is one of the main chal...

Full description

Saved in:
Bibliographic Details
Published inInternational journal on software tools for technology transfer Vol. 27; no. 1; pp. 21 - 34
Main Authors Djukic, Miodrag, Prokić, Ivan, Popovic, Miroslav, Ghilezan, Silvia, Popovic, Marko, Prokić, Simona
Format Journal Article
LanguageEnglish
Published Berlin/Heidelberg Springer Berlin Heidelberg 01.02.2025
Springer Nature B.V
Subjects
Online AccessGet full text
ISSN1433-2779
1433-2787
1433-2787
DOI10.1007/s10009-025-00795-0

Cover

More Information
Summary:Federated learning (FL) is a machine learning setting where clients keep the training data decentralized and collaboratively train a model either under the coordination of a central server (centralized FL) or in a peer-to-peer network (decentralized FL). Correct orchestration is one of the main challenges. In this paper, we formally verify the correctness of two generic FL algorithms, a centralized and a decentralized one, using the Communicating Sequential Processes (CSP) calculus and the Process Analysis Toolkit (PAT) model checker. The CSP models consist of CSP processes corresponding to generic FL algorithm instances. PAT automatically proves the correctness of the two generic FL algorithms by proving their deadlock freedom (safety property) and successful termination (reachability and liveness property). The CSP models are constructed as a faithful representation of the real Python code and are expressed directly in CSP# language that PAT uses. Then they are automatically checked top-down by PAT. The Python code follows a restricted actor-based programming model, and the construction of CSP# code from such Python code is performed systematically. The process is described in detail, ensuring that the models correspond to the actual code. It represents a basis for developing tools for automatic translation of certain classes of Python code to CSP models, expressed in CSP#.
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:1433-2779
1433-2787
1433-2787
DOI:10.1007/s10009-025-00795-0