Viable Algorithmic Options for Creating and Adapting Emergent Software Systems
Todd Wareham, Ronald de Haan

TL;DR
This paper analyzes the computational complexity of creating and adapting emergent software systems, showing intractability in general and under restrictions, but also identifying conditions that lead to tractability.
Contribution
It provides a complexity analysis of algorithms for self-adapting software systems and identifies restrictions that make these problems computationally feasible.
Findings
Neither creation nor adaptation is solvable for all inputs without restrictions.
Restrictions on system structure can lead to tractability.
Adaptation is computationally easier than creation under certain conditions.
Abstract
Given the complexity of modern software systems, it is of great importance that such systems be able to autonomously modify themselves, i.e., self-adapt, with minimal human supervision. It is critical that this adaptation both results in reliable systems and scales reasonably in required memory and runtime to non-trivial systems. In this paper, we apply computational complexity analysis to evaluate algorithmic options for the reliable creation and adaptation of emergent software systems relative to several popular types of exact and approximate efficient solvability. We show that neither problem is solvable for all inputs when no restrictions are placed on software system structure. This intractability continues to hold relative to all examined types of efficient exact and approximate solvability when software systems are restricted to run (and hence can be verified against system…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Computability, Logic, AI Algorithms · Advanced Software Engineering Methodologies
