Annette Bieniusa

dblp:03/1336 · also Annette Middelkoop-Bieniusa · DBLP profile ↗
← Back
19ranked-venue papers
5as first author
5since 2021 · last 2026
0000-0002-1654-6118ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 12 · 2 first-author · 4 since 2021Systems, architecture and hardware · 4 · 2 first-authorComputer networks · 2Databases, data management, data science and information retrieval · 1Theory of computation · 1Applied, interdisciplinary, general and emerging computing · 1
YearPublicationVenuePosition
2026 Proof of Delivery: Mechanized Mailbox Types
Edgard Schiebelbein, Annette Bieniusa, Simon Fowler 0001
COORDINATION2
2026 Set-Theoretic Types for Erlang in Practice (Experience Report)
abstract
Set-theoretic type connectives with their native support for union, intersection, and negation have the potential to capture the idioms of dynamically typed languages like Erlang. We investigate whether this theoretical expressiveness translates into practice: does the resulting type solver remain tractable on real-world code? Can the type system reflect the programmer's intention even though no principal types exist? And does it actually detect or avoid errors in real codebases? This paper reports on our experience on applying Etylizer, a set-theoretic type checker for Erlang, to its own implementation. We test whether the type system can express the patterns arising in a non-trivial Erlang codebase. In addition, we examine the design tradeoffs that set-theoretic types present across exhaustiveness, function overloading, numeric precision, gradual typing, and occurrence typing, and relate them to how other type systems handle the same dimensions. Our findings suggest that set-theoretic types are expressive enough to capture Erlang programmers' intentions: intersection types and automatic exhaustiveness checking provide clear advantages, and the approach is not in conflict with Erlang's let-it-crash idiom. Although the type system lacks principal types, types can be refined as needed through annotations. Scalability for type checking is largely addressed, and in the cases where it remains an issue, less expressive tools face similar limitations.
Albert Schimpf, Annette Bieniusa
Proc. ACM Program. Lang.2
2024 LoRe: A Programming Model for Verifiably Safe Local-first Software
abstract
Local-first software manages and processes private data locally while still enabling collaboration between multiple parties connected via partially unreliable networks. Such software typically involves interactions with users and the execution environment (the outside world). The unpredictability of such interactions paired with their decentralized nature make reasoning about the correctness of local-first software a challenging endeavor. Yet, existing solutions to develop local-first software do not provide support for automated safety guarantees and instead expect developers to reason about concurrent interactions in an environment with unreliable network conditions. We propose LoRe , a programming model and compiler that automatically verifies developer-supplied safety properties for local-first applications. LoRe combines the declarative data flow of reactive programming with static analysis and verification techniques to precisely determine concurrent interactions that violate safety invariants and to selectively employ strong consistency through coordination where required. We propose a formalized proof principle and demonstrate how to automate the process in a prototype implementation that outputs verified executable code. Our evaluation shows that LoRe simplifies the development of safe local-first software when compared to state-of-the-art approaches and that verification times are acceptable.
Julian Haas, Ragnar Mogk, Elena Yanakieva, Annette Bieniusa, Mira Mezini
ACM Trans. Program. Lang. Syst.4
2023 LoRe: A Programming Model for Verifiably Safe Local-First Software (Extended Abstract)
abstract
Local-first software manages and processes private data locally while still enabling collaboration between multiple parties connected via partially unreliable networks. Such software typically involves interactions with users and the execution environment (the outside world). The unpredictability of such interactions paired with their decentralized nature make reasoning about the correctness of local-first software a challenging endeavor. Yet, existing solutions to develop local-first software do not provide support for automated safety guarantees and instead expect developers to reason about concurrent interactions in an environment with unreliable network conditions. We propose LoRe, a programming model and compiler that automatically verifies developer-supplied safety properties for local-first applications. LoRe combines the declarative data flow of reactive programming with static analysis and verification techniques to precisely determine concurrent interactions that violate safety invariants and to selectively employ strong consistency through coordination where required. We propose a formalized proof principle and demonstrate how to automate the process in a prototype implementation that outputs verified executable code. Our evaluation shows that LoRe simplifies the development of safe local-first software when compared to state-of-the-art approaches and that verification times are acceptable.
Julian Haas, Ragnar Mogk, Elena Yanakieva, Annette Bieniusa, Mira Mezini
ECOOP4
2021 Combining state- and event-based semantics to verify highly available applications
Peter Zeller 0001, Annette Bieniusa, Arnd Poetzsch-Heffter
Sci. Comput. Program.2
2018 Global-Local View: Scalable Consistency for Concurrent Data Types
Deepthi Devaki Akkoorath, José Brandão 0001, Annette Bieniusa, Carlos Baquero
Euro-Par3
2017 EPTL - A Temporal Logic for Weakly Consistent Systems (Short Paper)
Mathias Weber 0001, Annette Bieniusa, Arnd Poetzsch-Heffter
FORTE2
2017 Practical evaluation of the Lasp programming model at large scale: an experience report
abstract
Programming models for building large-scale distributed applications assist the developer in reasoning about consistency and distribution. However, many of the programming models for weak consistency, which promise the largest scalability gains, have little in the way of evaluation to demonstrate the promised scalability. We present an experience report on the implementation and large-scale evaluation of one of these models, Lasp, originally presented at PPDP '15, which provides a declarative, functional programming style for distributed applications. We demonstrate the scalability of Lasp's prototype runtime implementation up to 1024 nodes in the Amazon cloud computing environment. It achieves high scalability by uniquely combining hybrid gossip with a programming model based on convergent computation. We report on the engineering challenges of this implementation and its evaluation, specifically related to operating research prototypes in a production cloud environment.
Christopher Meiklejohn, Vitor Enes, Junghun Yoo, Carlos Baquero, Peter Van Roy, Annette Bieniusa
PPDP6
2017 Legion: Enriching Internet Services with Peer-to-Peer Interactions
abstract
Many web applications are built around direct interactions among users, from collaborative applications and social networks to multi-user games. Despite being user-centric, these applications are usually supported by services running on servers that mediate all interactions among clients. When users are in close vicinity of each other, relying on a centralized infrastructure for mediating user interactions leads to unnecessarily high latency while hampering fault-tolerance and scalability.
Albert van der Linde, Pedro Fouto, João Leitão 0001, Nuno M. Preguiça, Santiago J. Castiñeira, Annette Bieniusa
WWW6
2016 Cure: Strong Semantics Meets High Availability and Low Latency
abstract
Developers of cloud-scale applications face a difficult decision of which kind of storage to use, summarised by the CAP theorem. Currently the choice is between classical CP databases, which provide strong guarantees but are slow, expensive, and unavailable under partition, and NoSQL-style AP databases, which are fast and available, but too hard to program against. We present an alternative: Cure provides the highest level of guarantees that remains compatible with availability. These guarantees include: causal consistency (no ordering anomalies), atomicity (consistent multi-key updates), and support for high-level data types (developer friendly API) with safe resolution of concurrent updates (guaranteeing convergence). These guarantees minimise the anomalies caused by parallelism and distribution, thus facilitating the development of applications. This paper presents the protocols for highly available transactions, and an experimental evaluation showing that Cure is able to achieve scalability similar to eventually-consistent NoSQL databases, while providing stronger guarantees.
Deepthi Devaki Akkoorath, Alejandro Z. Tomsic, Manuel Bravo, Zhongmiao Li, Tyler Crain, Annette Bieniusa, Nuno M. Preguiça, Marc Shapiro 0001
ICDCS6
2015 Transactions on Mergeable Objects
Deepthi Devaki Akkoorath, Annette Bieniusa
APLAS2
2015 Write Fast, Read in the Past: Causal Consistency for Client-Side Applications
abstract
Client-side apps (e.g., mobile or in-browser) need cloud data to be available in a local cache, for both reads and updates. For optimal user experience and developer support, the cache should be consistent and fault-tolerant. In order to scale to high numbers of unreliable and resource-poor clients, and large database, the system needs to use resources sparingly. The SwiftCloud distributed object database is the first to provide fast reads and writes via a causally-consistent client-side local cache backed by the cloud. It is thrifty in resources and scales well, thanks to consistent versioning provided by the cloud, using small and bounded metadata. It remains available during faults, switching to a different data centre when the current one is not responsive, while maintaining its consistency guarantees. This paper presents the SwiftCloud algorithms, design, and experimental evaluation. It shows that client-side apps enjoy the high performance and availability, under the same guarantees as a remote cloud data store, at a small cost.
Marek Zawirski, Nuno M. Preguiça, Sérgio Duarte, Annette Bieniusa, Valter Balegas, Marc Shapiro 0001
Middleware4
2014 Formal Specification and Verification of CRDTs
Peter Zeller 0001, Annette Bieniusa, Arnd Poetzsch-Heffter
FORTE2
2012 Access permission contracts for scripting languages
abstract
The ideal software contract fully specifies the behavior of an operation. Often, in particular in the context of scripting languages, a full specification may be cumbersome to state and may not even be desired. In such cases, a partial specification, which describes selected aspects of the behavior, may be used to raise the confidence in an implementation of the operation to a reasonable level.
Phillip Heidegger, Annette Bieniusa, Peter Thiemann 0001
POPL2
2012 Brief Announcement: Semantics of Eventually Consistent Replicated Sets
Annette Bieniusa, Marek Zawirski, Nuno M. Preguiça, Marc Shapiro 0001, Carlos Baquero, Valter Balegas, Sérgio Duarte
DISC1
2011 Proving Isolation Properties for Software Transactional Memory
Annette Bieniusa, Peter Thiemann 0001
ESOP1
2010 Consistency in hindsight: A fully decentralized STM algorithm
abstract
Software transactional memory (STM) algorithms often rely on centralized components to achieve atomicity, isolation and consistency. In a distributed setting, centralized components are undesirable as they impair scalability. This paper presents Decent STM, a fully decentralized object-based STM algorithm. It relies on mostly immutable data structures, which are well-suited for replication and migration. It is the first decentralized STM implementing snapshot isolation semantics. A novel randomized consensus protocol guarantees consistency of the mutable parts. Transactions may proceed tentatively before consensus has been reached. Object versioning ensures consistency in hindsight. Thus, atomic code sections never block during execution. The evaluation of benchmarks shows that the guaranteed success of reads more than compensates for the higher conflict rate during commit.
Annette Bieniusa, Thomas Fuhrmann
IPDPS1
2010 Brief announcement: actions in the twilight - concurrent irrevocable transactions and inconsistency repair
abstract
Twilight STM enhances a transaction with twilight code that executes between the preparation to commit the transaction and its actual commit or abort. Twilight code runs irrevocably and concurrently with the rest of the program. It can detect and repair potential read inconsistencies in the state of its transaction and may thus turn a failing transaction into a successful one. Moreover, twilight code can safely use I/O operations while modifying the transactionally managed memory.
Annette Bieniusa, Arie Middelkoop, Peter Thiemann 0001
PODC1
2009 How to CPS Transform a Monad
Annette Bieniusa, Peter Thiemann 0001
CC1