English
Related papers

Related papers: Now It Compiles! Certified Automatic Repair of Unc…

200 papers

Coding is an integral aspect of programming. A programmer can automatically complete a code fragment after writing a few tokens, and the process of automatic completion is known as code completion. Several research studies on code…

Software Engineering · Computer Science 2024-03-01 Shamima Naznin , Dr. Manishankar Mondal

In service-oriented architecture, services coordinate in one of two ways: directly, using point-to-point communication, or indirectly, through an intermediary called the orchestrator. Orchestrators tend to be more popular because their…

Programming Languages · Computer Science 2026-03-24 Viktor Strate Kløvedal , Dan Plyukhin , Marco Peressotti , Fabrizio Montesi

Automated Program Repair (APR) aims to automatically fix bugs in the source code. Recently, as advances in Deep Learning (DL) field, there is a rise of Neural Program Repair (NPR) studies, which formulate APR as a translation task from…

Software Engineering · Computer Science 2022-09-22 Wenkang Zhong , Chuanyi Li , Jidong Ge , Bin Luo

Distributed programs are hard to get right because they are required to be open, scalable, long-running, and tolerant to faults. In particular, the recent approaches to distributed software based on (micro-)services where different services…

Programming Languages · Computer Science 2017-08-25 Ian Cassar , Adrian Francalanza , Claudio Antares Mezzina , Emilio Tuosto

Choreographic programming is an emerging paradigm for programming distributed systems. In choreographic programming, the programmer describes the behavior of the entire system as a single, unified program -- a choreography -- which is then…

Programming Languages · Computer Science 2023-07-21 Gan Shen , Shun Kashiwa , Lindsey Kuper

Many programmers, when they encounter an error, would like to have the benefit of automatic fix suggestions---as long as they are, most of the time, adequate. Initial research in this direction has generally limited itself to specific…

Software Engineering · Computer Science 2015-03-18 Yu Pei , Yi Wei , Carlo A. Furia , Martin Nordio , Bertrand Meyer

In programming, protocols are everywhere. Protocols describe the pattern of interaction (or communication) between software systems, for example, between a user-space program and the kernel or between a local application and an online…

Programming Languages · Computer Science 2022-11-08 Laura Bocchi , Dominic Orchard , A. Laura Voinea

Choreographic programming is a promising new paradigm for programming concurrent systems where a developer writes a single centralized program that compiles to individual programs for each node. Existing choreographic languages, however,…

Programming Languages · Computer Science 2025-08-22 Ashley Samuelson , Andrew K. Hirsch , Ethan Cecchetti

Choreography extraction deals with the generation of a choreography (a global description of communication behaviour) from a set of local process behaviours. In this work, we implement a previously proposed theory for extraction and show…

Programming Languages · Computer Science 2019-10-28 Luís Cruz-Filipe , Fabrizio Montesi , Larisa Safina

A distributed protocol is typically modeled as a set of communicating processes, where each process is described as an extended state machine along with fairness assumptions, and its correctness is specified using safety and liveness…

Formal Languages and Automata Theory · Computer Science 2015-05-19 Rajeev Alur , Mukund Raghothaman , Christos Stergiou , Stavros Tripakis , Abhishek Udupa

Programming distributed applications free from communication deadlocks and race conditions is complex. Preserving these properties when applications are updated at runtime is even harder. We present a choreographic approach for programming…

Programming Languages · Computer Science 2019-03-14 Mila Dalla Preda , Maurizio Gabbrielli , Saverio Giallorenzo , Ivan Lanese , Jacopo Mauro

In recent years, the field of artificial intelligence has been rapidly developing. Among them, OpenAI's ChatGPT excels at natural language processing tasks and can also generate source code. However, the generated code often has problems…

Software Engineering · Computer Science 2024-07-17 Jun Yoshida , Oh Sato , Hane Kondo , Hiroaki Hashiura , Atsuo Hazeyama

Theory-guided machine learning has demonstrated that including authentic domain knowledge directly into model design improves performance, sample efficiency and out-of-distribution generalisation. Yet the process by which a formal domain…

Machine Learning · Computer Science 2026-03-17 Asela Hevapathige , Yu Xia , Sachith Seneviratne , Saman Halgamuge

We introduce a meta-model based on formal languages, dubbed formal choreographic languages, to study message-passing systems. Our framework allows us to generalise standard constructions from the literature and to compare them. In…

Logic in Computer Science · Computer Science 2024-02-14 Franco Barbanera , Ivan Lanese , Emilio Tuosto

Automatic program repair (APR) has recently gained attention because it proposes to fix software defects with no human intervention. To automatically fix defects, most APR tools use the developer-written tests to (a) localize the defect,…

Software Engineering · Computer Science 2021-04-19 Manish Motwani

We built Chorex, a language that brings choreographic programming to Elixir as a path toward robust distributed applications. Chorex is unique among choreographic languages because it tolerates failure among actors: when an actor crashes,…

Programming Languages · Computer Science 2025-11-21 Ashton Wiersdorf , Ben Greenman

Program synthesis and repair have emerged as an exciting area of research, driven by the potential for revolutionary advances in programmer productivity. Among most promising ideas emerging for synthesis are syntax-driven search,…

Programming Languages · Computer Science 2017-07-14 Manos Koukoutos , Mukund Raghothaman , Etienne Kneuss , Viktor Kuncak

Real-world Cyber-Physical Systems (CPSs) are usually configurable. Through parameters, it is possible to configure, select or unselect different system functionalities. While this provides high flexibility, it also becomes a source for…

Software Engineering · Computer Science 2023-08-15 Pablo Valle , Aitor Arrieta , Maite Arratibel

Choreographies describe distributed protocols from a global viewpoint, enabling correct-by-construction synthesis of local behaviours. We develop a policy-parametric type system that prevents information leaks from high-security data to…

Programming Languages · Computer Science 2026-02-26 Marco Bertoni , Saverio Giallorenzo , Marco Peressotti

Structure editors operate directly on a program's syntactic tree structure. At first glance, this allows for the exciting possibility that such an editor could enforce correctness properties: programs could be well-formed and sometimes even…

Programming Languages · Computer Science 2024-11-27 Jacob Prinz , Henry Blanchette , Leonidas Lampropoulos