Piotr Przymus

dblp:31/10203 · DBLP profile ↗
← Back
14ranked-venue papers in the field
9as first author
10since 2021 · last 2026
0000-0001-9548-2388ORCID · verified

Domains — venue-derived; a paper can count in several

Other / Interdisciplinary · 9 (7 first)Database Systems & Data Management · 3 (2 first)Data Mining & Knowledge Discovery · 1Knowledge Engineering, Semantic Web & Information Systems · 1
YearPublicationVenuePosition
2026 Underutilization in Research GPU Clusters: SE Challenges
abstract
GPU clusters underpin modern deep learning, yet studies across industry and academia consistently report widespread GPU underutilization. Prior work and our own analysis indicate that inefficiency often stems from recurring patterns in code, job scripts, and runtime behaviour that users rarely detect. We argue that addressing this issue is a MSR challenge: it requires mining inefficiency patterns, combining static and dynamic signals for actionable feedback, validating job-submission artefacts, and developing privacy-aware datasets linking code, configuration, and runtime metrics.
Krzysztof Kaczmarski, Jakub Narebski, Piotr Przymus
MSR3
2026 Can Data Mining Help to Survive the Annual Compiler Upgrade?
abstract
Modern compilers provide improved diagnostics, performance, and security. The industry lacks the data and tools to estimate the cost to upgrade a compiler toolchain for complex projects. A knowledge base mined from defect databases, mailing lists, experience reports, commits, and grey literature will improve the planning process.
Gunnar Kudrjavets, Piotr Przymus
MSR3
2026 Adversarial Bug Reports as a Security Risk in Language Model-Based Automated Program Repair
abstract
Large Language Model (LLM) - based Automated Program Repair (APR) systems are increasingly integrated into modern software development workflows, offering automated patches in response to natural language bug reports. However, this reliance on untrusted user input introduces a novel and underexplored attack surface. In this paper, we investigate the security risks posed by adversarial bug reports—realistic-looking issue submissions crafted to mislead APR systems into producing insecure or harmful code changes. We develop a comprehensive threat model and conduct an empirical study to evaluate the vulnerability of APR systems to such attacks. Our demonstration comprises 51 adversarial bug reports generated across a spectrum of strategies, ranging from manual curation to fully automated pipelines. We test these against a leading LLM-based APR system and assess both pre-repair defenses (e.g., LlamaGuard variants, PromptGuard variants, Granite-Guardian, and custom LLM filters) and post-repair detectors (GitHub Copilot, CodeQL). Our findings show that current defenses are insufficient: 90% of crafted bug reports triggered attacker-aligned patches. The best pre-repair filter blocked only 47%, while post-repair analysis—often requiring human oversight—was effective in just 58% of cases. To support scalable security testing, we introduce a prototype framework for automating the generation of adversarial bug reports. Our analysis exposes a structural asymmetry: generating adversarial inputs is inexpensive, while detecting or mitigating them remains costly and error-prone. We conclude with recommendations for improving the robustness of APR systems against adversarial misuse and highlight directions for future work on secure APR.
Piotr Przymus, Andreas Happe, Jürgen Cito
MSR1
2026 Linux Kernel Recency Matters, CVE Severity Doesn't, and History Fades
abstract
In 2024, the Linux kernel became its own Common Vulnerabilities and Exposures (CVE) Numbering Authority (CNA), formalizing how kernel vulnerabilities are identified and tracked. We analyze the anatomy and dynamics of kernel CVEs using metadata, associated commits, and patch latency to understand what drives patching. Results show that severity and Common Vulnerability Scoring System (CVSS) metrics have a negligible association with patch latency, whereas kernel recency is a reasonable predictor in survival models. Kernel developers fix newer kernels sooner, while older ones retain unresolved CVEs. Commits introducing vulnerabilities are typically broader and more complex than their fixes, though often only approximate reconstructions of development history. The Linux kernel remains a unique open-source project—its CVE process is no exception.
Piotr Przymus, Witold Weiner, Krzysztof Rykaczewski, Gunnar Kudrjavets
MSR1
2025 Wolves in the Repository: A Software Engineering Analysis of the XZ Utils Supply Chain Attack
abstract
The digital economy runs on Open Source Software (OSS), with an estimated 90% of modern applications containing open-source components. While this widespread adoption has revolutionized software development, it has also created critical security vulnerabilities, particularly in essential but underresourced projects. This paper examines a sophisticated attack on the XZ Utils project (CVE-2024-3094), where attackers exploited not just code, but the entire open-source development process to inject a backdoor into a fundamental Linux compression library. Our analysis reveals a new breed of supply chain attack that manipulates software engineering practices themselves - from community management to CI/CD configurations - to establish legitimacy and maintain long-term control. Through a comprehensive examination of GitHub events and development artifacts, we reconstruct the attack timeline, analyze the evolution of attacker tactics. Our findings demonstrate how attackers leveraged seemingly beneficial contributions to project infrastructure and maintenance to bypass traditional security measures. This work extends beyond traditional security analysis by examining how software engineering practices themselves can be weaponized, offering insights for protecting the open-source ecosystem.
Piotr Przymus, Thomas Durieux
MSR1
2025 Out of Sight, Still at Risk: The Lifecycle of Transitive Vulnerabilities in Maven
abstract
The modern software development landscape heavily relies on transitive dependencies. They enable seamless integration of third-party libraries. However, they also introduce security challenges. Transitive vulnerabilities that arise from indirect dependencies expose projects to risks associated with Common Vulnerabilities and Exposures (CVEs). It happens even when direct dependencies remain secure. This paper examines the lifecycle of transitive vulnerabilities in the Maven ecosystem. We employ survival analysis to measure the time projects remain exposed after a CVE is introduced. Using a large dataset of Maven projects, we identify factors that influence the resolution of these vulnerabilities. Our findings offer practical advice on improving dependency management.
Piotr Przymus, Mikolaj Fejzer, Jakub Narebski, Krzysztof Rykaczewski, Krzysztof Stencel
MSR1
2025 HaPy-Bug - Human Annotated Python Bug Resolution Dataset
abstract
We present HaPy-Bug, a curated dataset of 793 Python source code commits associated with bug fixes, with each line of code annotated by three domain experts. The annotations offer insights into the purpose of modified files, changes at the line level, and reviewers’ confidence levels. We analyze HaPy-Bug to examine the distribution of file purposes, types of modifications, and tangled changes. Additionally, we explore its potential applications in bug tracking, the analysis of bug-fixing practices, and the development of repository analysis tools. HaPy-Bug serves as a valuable resource for advancing research in software maintenance and security.
Piotr Przymus, Mikolaj Fejzer, Jakub Narebski, Radoslaw Wozniak, Lukasz Halada, Aleksander Kazecki, Mykhailo Molchanov, Krzysztof Stencel
MSR1
2024 How I Learned to Stop Worrying and Love ChatGPT
abstract
In the dynamic landscape of software engineering, the emergence of ChatGPT-generated code signifies a distinctive and evolving paradigm in development practices. We delve into the impact of interactions with ChatGPT on the software development process, specifically analysing its influence on source code changes. Our emphasis lies in aligning code with ChatGPT conversations, separately analysing the user-provided context of the code and the extent to which the resulting code has been influenced by ChatGPT. Additionally, employing survival analysis techniques, we examine the longevity of ChatGPT-generated code segments in comparison to lines written traditionally. The goal is to provide valuable insights into the transformative role of ChatGPT in software development, illuminating its implications for code evolution and sustainability within the ecosystem.
Piotr Przymus, Mikolaj Fejzer, Jakub Narebski, Krzysztof Stencel
MSR1
2023 The Secret Life of CVEs
abstract
The Common Vulnerabilities and Exposures (CVEs) system is a reference method for documenting publicly known information security weaknesses and exposures. This paper presents a study of the lifetime of CVEs in software projects and the risk factors affecting their existence. The study uses survival analysis to examine how features of programming languages, projects, and CVEs themselves impact the lifetime of CVEs. We suggest avenues for future research to investigate the effect of various factors on the resolution of vulnerabilities.
Piotr Przymus, Mikolaj Fejzer, Jakub Narebski, Krzysztof Stencel
MSR1
2022 Fast JSON parser using metaprogramming on GPU
abstract
We demonstrate a new idea of a parallel GPU JSON parser, which is able to optimize the parsing and initial transformation process through metaprogramming. It outperforms other well-known solutions like simdjson, Pandas, as well as cuDF– which also works on GPU. The resulting data is ready to be further processed in common data frame formats and may be incorporated by RAPIDS, Apache Arrow or Pandas. Our parser can therefore be a part of an industrial Extract-Transform-Load workflow.
Krzysztof Kaczmarski, Jakub Narebski, Stanislaw Piotrowski, Piotr Przymus
DSAA4
2018 Profile based recommendation of code reviewers
abstract
Code reviews consist in proof-reading proposed code changes in order to find their shortcomings such as bugs, insufficient test coverage or misused design patterns. Code reviews are conducted before merging submitted changes into the main development branch. The selection of suitable reviewers is crucial to obtain the high quality of reviews. In this article we present a new method of recommending reviewers for code changes. This method is based on profiles of individual programmers. For each developer we maintain his/her profile. It is the multiset of all file path segments from commits reviewed by him/her. It will get updated when he/she presents a new review. We employ a similarity function between such profiles and change proposals to be reviewed. The programmer whose profile matches the change most is recommended to become the reviewer. We performed an experimental comparison of our method against state-of-the-art techniques using four large open-source projects. We obtained improved results in terms of classification metrics (precision, recall and F-measure) and performance (we have lower time and space complexity).
Mikolaj Fejzer, Piotr Przymus, Krzysztof Stencel
J. Intell. Inf. Syst.2
2014 Improving High-Performance GPU Graph Traversal with Compression
Krzysztof Kaczmarski, Piotr Przymus, Pawel Rzazewski
ADBIS (2)2
2013 Time Series Queries Processing with GPU Support
Piotr Przymus, Krzysztof Kaczmarski
ADBIS (2)1
2013 Dynamic Compression Strategy for Time Series Database Using GPU
Piotr Przymus, Krzysztof Kaczmarski
ADBIS (2)1