11 papers
Dependencies that Bundle Code and Execution
Aman Sharma, Martin Monperrus
Applications are built from many dependencies. Each dependency is distributed by package registries but it only contains compiled code and does not ship execution state, so runtime…
Serializing Java Objects in Plain Code
Julian Wachter, Deepika Tiwari, Martin Monperrus +1
In managed languages, serialization of objects is typically done in bespoke binary formats such as Protobuf, or markup languages such as XML or JSON. The major limitation of these…
Maven-Hijack: Software Supply Chain Attack Exploiting Packaging Order
Frank Reyes, Federico Bono, Aman Sharma +2
Java projects frequently rely on package managers such as Maven to manage complex webs of external dependencies. While these tools streamline development, they also introduce subtl…
Galapagos: Automated N-Version Programming with LLMs
Javier Ron, Diogo Gaspar, Javier Cabrera-Arteaga +2
N-Version Programming is a well-known methodology for developing fault-tolerant systems. It achieves fault detection and correction at runtime by adding diverse redundancy into pro…
Proving and Rewarding Client Diversity to Strengthen Resilience of Blockchain Networks
Javier Ron, Zheyuan He, Martin Monperrus
Client diversity is a cornerstone of blockchain resilience, yet most networks suffer from a dangerously skewed distribution of client implementations. This monoculture exposes the…
RepairLLaMA: Efficient Representations and Fine-Tuned Adapters for Program Repair
André Silva, Sen Fang, Martin Monperrus
Automated Program Repair (APR) has evolved significantly with the advent of Large Language Models (LLMs). Fine-tuning LLMs for program repair is a recent avenue of research, with m…