Revising Distributed UNITY Programs Is NP-Complete
نویسندگان
چکیده
We focus on automated revision techniques for adding Unity properties to distributed programs. We show that unlike centralized programs where multiple safety properties and one progress property can be added in polynomial-time, addition of a safety or a progress Unity property to distributed programs is significantly more difficult. Precisely, we show that such addition is NP-complete in the size of the given program’s state space. We also propose an efficient symbolic heuristic for addition of a leads-to property to distributed programs, which has applications in automated program synthesis.
منابع مشابه
Revising UNITY Programs: Possibilities and Limitations1
We concentrate on automatic addition of UNITY properties unless, stable, invariant, and leads-to to programs. We formally define the problem of adding UNITY properties to programs while preserving their existing properties. For cases where one simultaneously adds a single leads-to property along with a conjunction of unless, stable, and invariant properties to an existing program, we present a ...
متن کاملRevising UNITY Programs: Possibilities and Limitations
We concentrate on automatic addition of untimed and real-time UNITY properties to programs by local redesign. The main focus of this paper is to identify instances where addition of UNITY properties can be achieved efficiently (in polynomial time) and where the problem of adding UNITY properties is difficult (NP-complete). Regarding addition of UNITY properties in polynomial time, we present a ...
متن کاملA UNITY Mapping Operator for Distributed Programs
When describing a distributed application within the Unity framework, one usually uses the composition by union to express the interaction between processes. Unfortunately, the semantics of union is not well-suited to express the possible true parallelism between the diier-ent parts of a program. However, the diierent processes of a distributed application do not share any memory. Thanks to thi...
متن کاملOn the Complexity of Adding Convergence
This paper investigates the complexity of designing SelfStabilizing (SS) distributed programs, where an SS program meets two properties, namely closure and convergence. Convergence requires that, from any state, the computations of an SS program reach a set of legitimate states (a.k.a. invariant). Upon reaching a legitimate state, the computations of an SS program remain in the set of legitimat...
متن کاملTransient data sharing among mobile programs
Mobile computing represents a major point of departure from the traditional distributed computing paradigm. The potentially very large number of independent computing units, a decoupled computing style, frequent disconnections, continuous position changes, and the location-dependent nature of the behavior and communication patterns present designers with unprecedented challenges in the areas of...
متن کامل