Daniel Sokolowski

Daniel Sokolowski

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

About

Daniel Sokolowski is a research assistant and Ph.D. candidate at the  Programming Group,  University of St. Gallen, Switzerland. He holds a Master of Science in Internet- and Web-based Systems from the  Technical University of Darmstadt, Germany. With a background as a developer at Lufthansa and as a CTO in a software startup, Daniel brings a blend of industry experience and academic rigor to his research.

Daniel's research focuses on software engineering, with a recent focus on reliable Infrastructure as Code (IaC) for modern IT organizations. Daniel's work has been published and recognized at top software engineering venues, including ICSE, ESEC/FSE, OOPSLA, and IEEE Software. With a passion for innovation and strategic problem-solving in interdisciplinary teams, Daniel combines decisiveness and a drive for excellence with the courage to improve continuously.

Internships and jobs wanted: I am looking for Software Engineering research internships in the industry for 2024 and full-time positions starting at the end of 2024. Please reach out regarding any interesting opportunity.

News

Jan 2024
Speaking about  Infrastructure as Code: How to Test, Finally at the  Voxxed Days Ticino 2024, Lugano, Switzerland.
Dec 2023
Giving an invited talk on "Reliable Infrastructure as Code for Decentralized Organizations" at the  VELVET Days on Verification and Software Engineering for DevOps and Reconfiguration at the  IMT Atlantique Nantes, France.  Slides.
Oct 2023
Attending  SPLASH '23 in Cascais, Portugal, and presenting  Creed for Speed: Comprehensive Infrastructure as Code Testing at the  CONFLANG workshop.
Sep 2023
Discussing  How AI Is Changing the Security of Software Systems with Prof. Dr. Guido Salvaneschi and David Spielmann at the  Global Cyber Conference 2023 in Zurich, Switzerland.
Aug 2023
Attending the Marktoberdorf Summer School 2023 on safety and security through formal verification in Marktoberdorf, Germany.
Jul 2023
Attending the TAROT Summer School 2023 on software testing, verification and validation in London, UK, and giving a participant talk on "Testing Modern Infrastructure as Code."
Apr 2023
Successfully defended my PhD research proposal on "Reliable Infrastructure as Code for Decentralized Organizations" in a public colloquium at the  University of St. Gallen, Switzerland.
Mar 2023
Presenting our vision  Towards Reliable Infrastructure as Code at the  2nd International Workshop on the Foundations of Infrastructure Specification and Testing (FIST) '23 at  ICSA '23 in, L'Aquila, Italy.
Feb 2023
Attending the invite-only seminar on  Resilient Software Configuration and Infrastructure Code Analysis at  Schloss Dagstuhl, Germany.
Nov 2022
Presenting our work on modern infrastructure as code and deployment coordination at  ESEC/FSE '22 in Singapore.  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.
Presenting our work on safe dynamic updates for workflows at  ICSE '22 in Pittsburgh, PA, USA.  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.

Research

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 simple configuration scripts. Yet, developers lack support to ensure the robustness of IaC programs. We are investigating the differences between IaC programs and other software to develop suitable quality assurance techniques. We developed an automated unit testing technique implemented in ProTI, massively reducing testing effort through automation and extensible test generator and oracle plugins. 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 SecQL on which the evaluation is based.

Impressum & Datenschutz