% % GENERATED FROM http://acme.able.cs.cmu.edu % by : anonymous % IP : ec2-3-85-63-190.compute-1.amazonaws.com % at : Tue, 19 Mar 2024 02:17:29 -0400 GMT % % Selection : Author: Cody_Kinneer % @InProceedings{2018:SEAMS:Uncertainty:Kinneer, AUTHOR = {Kinneer, Cody and Coker, Zack and Wang, Jiacheng and Garlan, David and Le Goues, Claire}, TITLE = {Managing Uncertainty in Self-Adaptive Systems with Plan Reuse and Stochastic Search}, YEAR = {2018}, MONTH = {28-29 May}, BOOKTITLE = {Proceedings of the 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/seams-uncertainty-kinneerpdf.pdf}, ABSTRACT = {Many software systems operate in environments where change and uncertainty are the rule, rather than exceptions. Techniques for self-adaptation allow these systems to automatically respond to environmental changes, yet they do not handle changes to the adaptive system itself, such as the addition or removal of adaptation tactics. Instead, changes in a self-adaptive system often require a human planner to redo an expensive planning process to allow the system to continue satisfying its quality requirements under different conditions; automated techniques typically must replan from scratch. We propose to address this problem by reusing prior planning knowledge to adapt in the face of unexpected situations. We present a planner based on genetic programming that reuses existing plans. While reuse of material in genetic algorithms has recently applied successfully in the area of automated program repair, we find that naïvely reusing existing plans for self-* planning actually results in a loss of utility. Furthermore, we propose a series of techniques to lower the costs of reuse, allowing genetic techniques to leverage existing information to improve planning utility when replanning for unexpected changes.}, NOTE = {Selected as a distinguished paper}, KEYWORDS = {Planning, Self-adaptation, Stochastic Search, uncertainty} } @Unpublished{Kinneer:2019:informationreuse, AUTHOR = {Kinneer, Cody and Garlan, David and Le Goues, Claire}, TITLE = {Information Reuse and Stochastic Search: Managing Uncertainty in Self-* Systems}, YEAR = {2019}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/irss.pdf}, ABSTRACT = {Many software systems operate in environments of change and uncertainty. Techniques for self-adaptation allow these systems to automatically respond to environmental changes, yet they do not handle changes to the adaptive system itself, such as the addition or removal of adaptation tactics. Instead, changes in a self-adaptive system often require a human planner to redo an expensive planning process to allow the system to continue satisfying its quality requirements under different conditions; automated techniques must replan from scratch. We propose to address this problem by reusing prior planning knowledge to adapt to unexpected situations. We present a planner based on genetic programming that reuses existing plans, and evaluate this planner on two case study systems: a cloud-based web server, and a team of autonomous aircraft. While reusing material in genetic algorithms has been recently applied successfully in the area of automated program repair, we find that naively reusing existing plans for self-* planning can actually result in a utility loss. Furthermore, we propose a series of techniques to lower the costs of reuse, allowing genetic techniques to leverage existing information to improve utility when replanning for unexpected changes, we also find that coarsely shaped search-spaces present profitable opportunities for reuse.}, NOTE = {Submitted for publication}, KEYWORDS = {Self-adaptation, Stochastic Search} } @InProceedings{Kinneer:2019:observability, AUTHOR = {Kinneer, Cody and Wagner, Ryan and Fang, Fei and Le Goues, Claire and Garlan, David}, TITLE = {Modeling Observability in Adaptive Systems to Defend Against Advanced Persistent Threats}, YEAR = {2019}, MONTH = {9-11 October}, BOOKTITLE = {Proceedings of the 17th ACM-IEEE International Conference on Formal Methods and Models for Systems Design (MEMCODE\'19)}, ADDRESS = {San Diego, USA}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/memocode2019.pdf}, ABSTRACT = {Advanced persistent threats (APTs) are a particularly troubling challenge for software systems. The adversarial nature of the security domain, and APTs in particular, poses unresolved challenges to the design of self-* systems, such as how to defend against multiple types of attackers with different goals and capabilities. In this interaction, the observability of each side is an important and under-investigated issue in the self-* domain. We propose a model of APT defense that elevates observability as a first-class concern. We evaluate this model by showing how an informed approach that uses observability improves the defender’s utility compared to a uniform random strategy, can enable robust planning through sensitivity analysis, and can inform observability-related architectural design decisions.}, KEYWORDS = {Science of Security, Self-adaptation} } @InProceedings{2019:SEAMS:DartSim, AUTHOR = {Moreno, Gabriel A. and Kinneer, Cody and Pandey, Ashutosh and Garlan, David}, TITLE = {DARTSim: An Exemplar for Evaluation and Comparison of Self-Adaptation Approaches for Smart Cyber-Physical Systems}, YEAR = {2019}, MONTH = {25-26 May}, BOOKTITLE = {Proceedings of the 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems}, ADDRESS = {Montreal, Canada}, ABSTRACT = {Motivated by the need for cyber-physical systems (CPS) to perform in dynamic and uncertain environments, smart CPS (sCPS) utilize self-adaptive capabilities to autonomously manage uncertainties at the intersection of the cyber and physical worlds. In this context, self-adaptation approaches face particular challenges, including (i) environment monitoring that is subject to sensing errors; (ii) adaptation actions that take time, sometimes due to physical movement; (iii) dire consequences for not adapting in a timely manner; and (iv) incomparable objectives that cannot be conflated into a single utility metric (e.g., avoiding an accident vs. providing good service). To enable researchers to evaluate and compare self-adaptation approaches aiming to address these unique challenges of sCPS, we introduce the DARTSim exemplar. DARTSim implements a high-level simulation of a team of unmanned air vehicles (UAVs) performing a reconnaissance mission in a hostile and unknown environment. Designed to be easily used by researchers, DARTSim provides a TCP-based interface for easy integration with external adaptation managers, documentation, and a fast simulation capability.}, NOTE = {Awarded Best Artifact Award for SEAMS 2019}, KEYWORDS = {Self-adaptation} } @InProceedings{2020:ACSOS:SelfStar, AUTHOR = {Kinneer, Cody and Van Tonder, Rijnard and Garlan, David and Le Goues, Claire}, TITLE = {Building Reusable Repertoires for Stochastic Self-* Planners}, YEAR = {2020}, MONTH = {17-21 August}, BOOKTITLE = {Proceedings of the 2020 IEEE Conference on Autonomic Computing and Self-organizing Systems (ACSOS)}, ADDRESS = {Washington, D.C., USA}, PDF = {http://acme.able.cs.cmu.edu/pubs/uploads/pdf/ACSOS_2020_Building_Reusable_Repertoires.pdf}, ABSTRACT = {Plan reuse is a promising approach for enabling self-* systems to effectively adapt to unexpected changes, such as evolving existing adaptation strategies after an unexpected change using stochastic search. An ideal self-* planner should be able to reuse repertoires of adaptation strategies, but this is challenging due to the evaluation overhead. For effective reuse, a repertoire should be both (a) likely to generalize to future situations, and (b) cost effective to evaluate. In this work, we present an approach inspired by chaos engineering for generating a diverse set of adaptation strategies to reuse, and we explore two analysis approaches based on clone detection and syntactic transformation for constructing repertoires of adaptation tactics that are likely to be amenable to reuse in stochastic search self-* planners. An evaluation of the proposed approaches on a simulated system inspired by Amazon AWS shows planning effectiveness improved by up to 20% and reveals tradeoffs in planning timeliness and optimality.}, NOTE = {Presentation Video}, KEYWORDS = {Self-adaptation, Self-Repair, Stochastic Search} } @PhdThesis{2021:Cody:PhD, AUTHOR = {Kinneer, Cody}, TITLE = {Search-based Plan Reuse in Self-* Systems}, YEAR = {2021}, MONTH = {May}, PAGES = {122}, SCHOOL = {Institute for Software Research, Carnegie Mellon University}, ABSTRACT = {Increasingly software systems operate in environments of change and uncertainty, where the system's ability to satisfy its quality objectives depends on its ability to adapt. Self-adaptation allows these systems to manage this challenge by autonomously adapting to changes in their environments. While self-* systems are designed precisely to manage uncertainty, unexpected changes may violate design assumptions, resulting in the system failing to satisfy its quality attribute requirements. When this occurs, the planner must generate a new plan, an expensive operation for large systems. As autonomous systems increase in size, interconnectedness, and complexity, this cost can quickly become prohibitive. This thesis addresses this problem by leveraging information contained in prior plans to reduce the replanning necessary to respond to an unexpected change. Even in the face of an unexpected change, some of the insights contained in existing plans are likely to remain applicable. For example, an autonomous aerial vehicle encountering an unexpected obstacle will need to replan to avoid the obstacle, but the drone may be able to return to its prior plan after this maneuver. A larger change will reduce the amount of reuse that is possible, for example changing the drone's mission to fly to a new location, but still, the takeoff and landing procedures may be reused. This thesis reuses existing adaptation plans by seeding a genetic algorithm with these plans. This enables a scalable self-* planner that can replan in complex systems with large search spaces. While the idea of plan reuse is intuitive, in practice plan reuse is difficult and may even be worse than replanning from scratch if not performed carefully. This dissertation provides reuse enhancing approaches to reduce the evaluation time of candidate plans, an approach for building reusable repertoires of plans and identifying generalizable plan fragments, and a co-evolutionary extension to enable plan reuse for security. The thesis is evaluated on three simulated case study systems, including a cloud-based web service provider, a team of autonomous aerial vehicles, and an enterprise business system under a cyber attack. Ultimately, plan reuse will enable large self-* systems to replan even after unexpected changes. }, KEYWORDS = {Explainable Software, Self-adaptation, Stochastic Search, uncertainty} }