Daniel Sokolowski, Ph.D.
ProTeam Management Trainee at Lufthansa Group,
Software Engineer and Research Scientist.
About
Dr. Daniel Sokolowski is a ProTeam Management Trainee at Lufthansa Group. He holds a Ph.D. in Computer Science from the University of St. Gallen, Switzerland, for his work on "Reliable Infrastructure as Code for Decentralized Organizations" with the Programming Group, which he commenced at the Technical University of Darmstadt, Germany. Rooted in IT and Aviation, Daniel's professional background includes roles as a an Applied Scientist Intern at Amazon Web Services, Software Engineer and Student Trainee (Duales Studium) at Lufthansa Systems and Lufthansa Industry Solutions, and as a Co-Founder and CTO at the software startup actified.
Daniel bridges industry experience and academic research, focusing on reliable software development and operations at scale. He believes that reliable software starts with cultivating reliable organizations—the systems that build the software systems. Passionate about innovation and strategic problem-solving in interdisciplinary teams, Daniel combines decisiveness and a drive for excellence with an agile mindset, striving for tangible results and embracing the courage required for continuous improvement.
Daniel's research centers 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, TSE, and IEEE Software.
News
- Sept 2024
- Graduated with a Ph.D. in Computer Science at the University of St. Gallen, Switzerland, receiving the highest distinction (summa cum laude) for my dissertation Reliable Infrastructure as Code for Decentralized Organizations.
- Aug 2024
- Visiting Amazon Web Services' Automated Reasoning Group for a three-month research internship in New York City, US.
- Jul 2024
- Joining the Lufthansa Group as a trainee within the 18-month ProTeam management trainee program.
- Apr 2024
- Defending my dissertation on "Reliable Infrastructure as Code for Decentralized Organizations" at the University of St. Gallen, Switzerland, on April 25.
- Apr 2024
- Attending ICSE '24 in Lisbon, Portugal, and presenting The PIPr Dataset of Public Infrastructure as Code Programs at the MSR conference.
- 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 achieving reliable software and its operations for modern DevOps organizations, including advancing Infrastructure as Code (IaC).
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.
- TSE '24
- MSR '24 Dataset
- ICSE '24 Poster Abstract
- CONFLANG '23 Talk Abstract
- SPLASH '23 Poster Abstract
- FIST '23
- ESEC/FSE Doctoral Symposium '22
- ProTI
- code
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.