I research software quality: safety, privacy, testability, architecture, and development processes. I work with systems in concrete application domains: statistical data analysis (PyMC, Probula) and machine learning, robot software (ROS), safety-critical embedded and cyber-physical systems (urban water systems, digital twins), and operating system kernels (Linux). I work a lot with industrial partners and have a particularly warm spot in my heart for open source software and communities.

My goal is to help engineers build better systems and to diagnose where they fail. I study real systems to understand which quality problems can actually be addressed, and I design new technologies (modeling languages, code generators, analysis and verification tools) to address them, drawing on model-driven engineering, language design, testing, and static analysis. I am well trained in maths, and like my methods to be theoretically and methodologically well grounded. I am particularly interested in applications of probability theory and logics.

Projects

  • CAVECORE — Continuous, Automated Validation, and Evaluation of Cognitive Robots in Open-Ended Environments (MSCA training network, PhD supervisor, 2025–…)
  • PROTEST — Probabilistic Testing of Probabilistic Programs (DFF/FTP Project 2, 2025–…)
  • POSEST — From False Certainty to True Confidence: Pose Estimation Beyond Deep Learning (Villum Experiment, 2025–…)
  • MOTUS — Monitoring and Testing of Uncertainty and Safety for Smart Co-bots (DIREC 2, co-PI)
  • DIREC — bridge project on Verifiable and safe AI for autonomous systems
  • REMARO — Reliable AI for Marine Robotics (Marie Skłodowska-Curie ITN, coordinator, ended in 2025)
  • REIDENT — Assessment of Reidentification Risks with Bayesian Probabilistic Programming (Villum Experiment, PI)
  • INSIGHT — Program Repair with Static Insights (DFF/FTP Project 2, PI)
  • ROSIN — ROS-Industrial Quality Assured Robot Software Components (Horizon 2020 IA, Country lead)
  • VARIES — VARiability In safety-critical Embedded Systems (FP7 ARTEMIS, 2012–2015, country-lead)
  • VARIETE — Variability in Portfolios of Dependable Systems (DFF Sapere Aude 2, PI)

Software

  • Probula — a minimalistic FOSS Scala 3 library (and internal DSL) for Bayesian inference using (mostly) Monte Carlo methods
  • SAT-Metropolis — a library for sampling under hard constraints
  • Privugger — a data privacy debugger, a sampling-based analyzer for information flow in data analysis programs
  • dsl.design — a repository with lots of DSL implementation examples in various programming languages, both OO and functional style, supporting our DSL book
  • ROS Checkers — Static bug checkers for ROS packages
  • EBA — Effect-Based Analyzer (finding resource manipulation bugs in the Linux kernel).
  • QUAIL — Quantitative Information Flow Analyzer for Imperative Languages.
  • Clafer — a language for lightweight modeling of structure and behavior
  • ECDAR — an Environment for Compositional Design and Analysis of Real Time Systems (a Uppaal extension)
  • SCOPE — a statechart compiler (my PhD project, now defunct)
  • fxp-mosml: a Moscow ML port of fxp, a generic XML parser for Standard ML.

Data Sets

  • ROBUST — A dataset of 200+ bugs in the Robot Operating System (ROS)
  • VBDB — a database of variability bugs in The Linux Kernel

Current PhD Students & Post-docs

Former Students & Research Staff

I am proudly a former PhD student of prof. Peter Sestoft and former post-doc of prof. Henrik Reif Andersen

Andrzej SQuaRE group logo

Andrzej Wąsowski, PhD
Professor of Software Engineering, Head of Software Quality Research Group
IT University of Copenhagen, 2300 Copenhagen S, Denmark, +45 7218 5086, wasowski@itu.dk

DBLP (publications) · ORCID · Google Scholar (publications) · Mastodon · codeberg · LinkedIn · pixelfed 1 · pixelfed 2 · DSL book