13 papers
GUARDTs: Decentralized Access Control for Replicated Data Types
Christian Kuessner, Ragnar Mogk, Julian Haas +2
Replicated data types providing strong eventual consistency offer a principled foundation for developing decentralized software. Yet existing approaches to programming such data ty…
On Eliminating the Impossible with Dependent Types: Choreographic Libraries with Proof-Carrying Located Values
Simon Daniel, Timon Böhler, David Richter +2
With growing complexity, distributed software systems become increasingly challenging to maintain and reason about. When implementing a distributed protocol, developers must ensure…
Mechanizing Choreographic Programs and Hoare Logic with State Transformers
Timon Böhler, Simon Daniel, David Richter +2
Choreographic programming is a programming model for developing distributed applications where an entire communication protocol is written as a single program, which a compiler the…
Mitigating Errors in LLM-Generated Web API Invocations via Retrieval-Augmented Generation and Constrained Decoding
Daniel Maninger, Leon Chemnitz, Jannis Brugger +3
Integration of web APIs is a cornerstone of modern software systems, yet writing correct web API invocation code remains challenging due to complex and evolving API specifications.…
Where Do LLMs Still Struggle? An In-Depth Analysis of Code Generation Benchmarks
Amir Molzam Sharifloo, Maedeh Heydari, Parsa Kazerooni +2
Large Language Models (LLMs) have achieved remarkable success in code generation, and the race to improve their performance has become a central focus of AI research. Benchmarks an…
Prompting Neural-Guided Equation Discovery Based on Residuals
Jannis Brugger, Viktor Pfanschilling, David Richter +2
Neural-guided equation discovery systems use a data set as prompt and predict an equation that describes the data set without extensive search. However, if the equation does not me…
Adaptable Hindsight Experience Replay for Search-Based Learning
Alexandros Vazaios, Jannis Brugger, Cedric Derstroff +2
AlphaZero-like Monte Carlo Tree Search systems, originally introduced for two-player games, dynamically balance exploration and exploitation using neural network guidance. This com…
Benchmarking Web API Integration Code Generation
Daniel Maninger, Leon Chemnitz, Amir Molzam Sharifloo +2
API integration is a cornerstone of our digital infrastructure, enabling software systems to connect and interact. However, as shown by many studies, writing or generating correct…
PRDTs: Composable Design and Verification of Consensus Protocols using Replicated Data Types
Julian Haas, Ragnar Mogk, Annette Bieniusa +1
Consensus protocols are fundamental in distributed systems as they enable services with strong consistency properties. However, designing protocols optimized for specific use-cases…
Neural-Guided Equation Discovery
Jannis Brugger, Mattia Cerrato, David Richter +4
Deep learning approaches are becoming increasingly attractive for equation discovery. We show the advantages and disadvantages of using neural-guided equation discovery by giving a…
Compiling with Arrays
David Richter, Timon Böhler, Pascal Weisenburger +1
Linear algebra computations are foundational for neural networks and machine learning, often handled through arrays. While many functional programming languages feature lists and r…
Distributed Locking as a Data Type
Julian Haas, Ragnar Mogk, Annette Bieniusa +1
Mixed-consistency programming models assist programmers in designing applications that provide high availability while still ensuring application-specific safety invariants. Howeve…
A Direct-Style Effect Notation for Sequential and Parallel Programs
David Richter, Timon Böhler, Pascal Weisenburger +1
Modeling sequential and parallel composition of effectful computations has been investigated in a variety of languages for a long time. In particular, the popular do-notation provi…