Daniel Sokolowski

Daniel Sokolowski

PhD student with the Programming Group
at the University of St. Gallen,
supervised by Prof. Dr. Guido Salvaneschi.


Mar 2023
Attending the  2nd International Workshop on the Foundations of Infrastructure Specification and Testing (FIST) '23 at  ICSA '23 in, L'Aquila, Italy, and presenting our vision on reliable infrastructure as code.  Vision paper available.
Feb 2023
Attending the invite-only seminar on  Resilient Software Configuration and Infrastructure Code Analysis at  Schloss Dagstuhl, Germany.
Nov 2022
Attending  ESEC/FSE '22 in Singapore and presenting our work on modern infrastructure as code and deployment coordination.  Research track paper available.
Aug 2022
Our article  Decentralizing Infrastructure as Code will be published in the  IEEE Software magazine special issue "Infrastructure-as-Code Unleashed!"
Jul 2022
Attending the Advanced Functional Programming (AFP) Summer School 2022 in Utrecht, Netherlands.
May 2022
Received a Best Artifact Award at  ICSE '22 for our  evaluation of safe dynamic updating on collaborative BPMN workflows.
Attending  ICSE '22 in Pittsburgh, PA, USA, and presenting our work on safe dynamic updates for workflows.  Paper and  talk available.
Mar 2022
Attending the  Start Summit 2022 on entrepreneurship and technology in St. Gallen, Switzerland.
Dec 2021
Our paper  Change Is the Only Constant: Dynamic Updates for Workflows is accepted at  ICSE '22.
Nov 2021
I moved to St. Gallen, Switzerland, and continue my PhD studies in the Programming Group at the  University of St. Gallen.
Aug 2021
Virtually attending  ESEC/FSE '21 and presenting our work on automated decentralized deployment coordination.  Research track paper,  talk, and  doctoral symposium paper available.
Jun 2021
My paper  Deployment Coordination for Cross-Functional DevOps Teams is accepted at  ESEC/FSE '21 Doctoral Symposium.
May 2021
Virtually attended  ICSE '21 and received a Best Student Volunteer Award.
Our paper  Automating Serverless Deployment for DevOps Organizations is accepted at  ESEC/FSE '21.
Our paper  Impact of Programming Languages on Machine Learning Bugs is accepted at  AISTA '21 workshop.
Nov 2020
Virtually attending the  3rd SuperCompCloud workshop and presenting our work on MRP for HPC.  Paper and  talk available.
Sep 2020
Our paper  Leveraging Hybrid Cloud HPC with Multitier Reactive Programming is accepted at  3rd SuperCompCloud workshop.
Oct 2019
Attending  SPLASH '19 in Athens, Greece, and presenting our work on multitier reactive programming for high-performance computing at the REBLS workshop.
Sep 2019
Our paper  Language Integrated Privacy-Aware Distributed Queries is accepted at  OOPSLA '19.
Our paper  Multitier Reactive Programming in High Performance Computing is accepted at the  REBLS '19 workshop.
Jun 2019
Attending the Oregon Programming Languages Summer School (OPLSS) 2019 in Eugene, OR, USA.
May 2019
Started my PhD studies at  Technical University Darmstadt.


I am enthusiastic about software engineering and programming language technology for modern distributed systems and cloud applications. I focus on advancing Infrastructure as Code (IaC) to achieve reliable deployments for modern DevOps organizations.

Quality Assurance of Infrastructure as Code

Modern Infrastructure as Code (IaC) programs are complex and closer to traditional software than to simple configuration scripts. Yet, developers lack support to ensure the robustness of IaC programs. In our ongoing research, we investigate the relevant differences between traditional software and IaC programs to develop suitable quality assurance techniques. Specifically, we currently work on an automated unit testing technique to massively reduce manual effort by automating mocking and adjusting modern testing techniques. In another early-stage project, we aim to verify the presence and absence of access paths on IaC programs.

Infrastructure as Code for DevOps Organizations

DevOps encourages organizations with cross-functional teams that are as independent as possible. Still, in practice, the applications of these teams often depend on each other. Current IaC solutions convey such design-time dependencies to the operations, requiring synchronous, manual coordination between the teams. We suggested explicitly expressing the interfaces between deployments in the IaC program and leveraging this information to automate the coordination. We implemented this idea based on Pulumi TypeScript in our IaC solution µs ("muse").

Safe Dynamic Software Updating for Workflows

Safe dynamic software updating prevents breaking distributed transactions due to component updates by identifying when the update can appear without breaking any transaction. We applied previous approaches for synchronous transactions to asynchronous workflows and proposed an improved approach called Essential Safety, which leverages the distinction between updates that change a component's semantics and those that do not. We evaluated our work by simulating realistic BPMN workflows and analyzing open-source monorepos.

Multitier Reactive Programming for High Performance Computing

HPC applications typically use on-premise computing resources and rely on static deployment setups, reliable hardware, and rather homogeneous resources. This hinders (partial) execution in the cloud, even though applications could benefit. To address this issue, we orchestrate computationally intensive kernels using a high-level programming language that ensures advanced optimization and improves execution flexibility, enabling hybrid cloud/on-premise HPC deployments. Our approach is based on multitier reactive programming and demonstrated using ScalaLoci.

Privacy-Aware Distributed Stream Processing

We developed a novel approach for incremental distributed stream processing with automated privacy-aware optimal operator placement. An integrated information-flow type system prevents leakage of queried information to untrusted computation nodes. We implemented the approach in SeqQL on which the evaluation is based.

Impressum & Datenschutz