My Computer Recycle Bin Home Projects Curriculum Vitae Contact About
Projects

Projects I am interested in

Continuously updated

My magnus opus

FIONA: short for "Finding Outliers in Attributes," is an innovative framework designed for the detection of categorical outliers within datasets. This configuration-free and user-friendly tool specializes in identifying unusual patterns in data attributes, making it invaluable for data analysis and decision-making processes. FIONA is developed as part of my Master's thesis.

🏆 2025 Best Demo Award

FIONA: Detecting Outliers in Attributes of Relational Datasets with Categorical Values

Tsiamis, T., Qahtan, A.

In ICDCS '25 (Best Demo Award)

Learn more about FIONA on IEEE Xplore

Security Research

CVE-2026-33166

High · 8.6

Allure Report Arbitrary File Read via Path Traversal in Attachment Processing

Credited reporter for GHSA-64hm-gfwq-jppw.

A path traversal issue in the Allure 1, Allure 2, and XCTest result readers allowed malicious attachment paths to include arbitrary files readable by the report-generation process in the generated report.

Fixed in Allure Report 2.38.0. View the NVD record.

CVE-2026-61696

Moderate · 6.3

Stored XSS in Forem Admin Abuse Report Rendering

Credited reporter for GHSA-4463-499m-94mx.

Attacker-controlled feedback message content could be stored unsanitized and rendered with raw HTML in the administrator abuse-report interface when an offender was present, allowing JavaScript execution in an administrator's browser.

Patched by Forem in commit 92eacd1. View the NVD record.

Open-Source Contributions

Replaced repeated depth-first searches in MetricsComponentDependencyGraph with a one-time reachability precomputation based on strongly connected component condensation and BitSet propagation over the resulting DAG.

Impact: ArchUnit's reviewer measured the LakosMetrics computation for hibernate-core 7.3.6 (37,281 classes) dropping from 101±2 seconds to 6.2±0.3 seconds—a speedup of more than 16×.

  • Iterative Kosaraju strongly connected component detection
  • DAG condensation and topological BitSet propagation
  • Constant-time cached transitive-dependency queries
  • Primitive-backed, stack-safe graph processing

View pull request #1629 · View issue #1628

Fixed a NullPointerException caused by automatic Long-to-long unboxing when an interrupted, partially written, corrupted, or cross-version .spock/RunHistory file contains a feature confidence value without a corresponding duration.

Impact: The defensive comparison preserves the existing feature-ordering semantics, sorts missing durations last, and allows Spock test execution to recover safely from incomplete run-history data. The fix was included in the Spock 2.4-M7 milestone.

  • Null-safe boxed Long comparisons
  • Deterministic ordering for missing duration values
  • Backward-compatible run-history handling
  • Release-note documentation

View pull request #2235 · View issue #2234

Added the terminal.integrated.scrollback setting and applied it across Podman Desktop's shell, container, provider, Kubernetes, dashboard, and log terminals, allowing users to retain more than the previous fixed 1,000 lines of terminal output without changing the default behavior.

Impact: Users can choose the right balance between terminal history and memory use, preserving early container-build and application-log output needed for debugging. Reviewers verified 1,000-, 20,000-, and 50,000-line configurations on macOS and Windows. The feature shipped in the Podman Desktop 1.23.0 milestone.

  • Typed terminal configuration schema with validation bounds
  • xterm.js scrollback integration across terminal surfaces
  • Backward-compatible 1,000-line default
  • Updated unit-test mocks with full modified-line coverage

View pull request #14703 · View issue #14702

Other work

  • WebdriverIO Visual Click Service: A WebdriverIO plugin I built to click canvas-based and selectorless UI components using image matching. I also wrote a DEV Community article about the idea, the OpenCV and Pixelmatch engines, and how it works in practice.
  • Gender Bias Scanner GitHub Action: A Python- and Docker-based GitHub Action I developed to detect gender-biased terminology across source code and documentation. It supports configurable scan paths, built-in and custom terms, actionable file-and-line reports, reusable workflow outputs, and CI failure when findings are detected. The scanner combines lightweight word embeddings, a configurable gender axis, and bias scoring. I am the sole contributor to the project, and it is available under the MIT License.
  • MutantSonar: A CLI tool I am building that converts PIT mutation testing reports into SonarCloud external issues, with mutation summaries, CI-friendly gating, and source-file mapping across Java, Kotlin, Groovy, and Scala projects.
  • Data Intensive Systems: Clustering a database into sub databases with the help of O. Papakyriakou.
  • Pattern Set Mining and Inductive Databases: From start til end, a near complete picture.
  • Big Data: An in depth look.
  • Deep Learning Model applying CycleGAN for Unpaired Image Transformation on Computer Vision with the contribution of P.W.O. van Aken, F.L.G. Blom, R.R. Cuevas, J.A.W. Markus, and M.A. Scheeres. The GitHub repo can be found here.
  • Optimizing a vaccination campaign with the help of Julian Markus, Leona Teunissen, and Ramon R. Cuevas. The GitLab repo can be found here.
  • Short and simple Monte Carlo Simulation (Deprecated).

Check out these projects as well

Apache Groovy, a powerful Java-syntax-compatible object-oriented programming language.

Still thinking whether Groovy is the right language?

Read my thoughts about Groovy here.

Axe, an accessibility testing engine to ensure that there are no barriers that prevent interaction with, or access to, websites by people with physical disabilities.

My Computer is ready. 00:00