A Runtime Adaptation Framework for Native C and Bytecode Applications
Rean Griffith,Gail E. Kaiser +1 more
- 12 Jun 2006
- Vol. 43, Iss: 4, pp 93-104
TL;DR: Kheiron is introduced, a framework for facilitating adaptations in running programs in a variety of execution environments without requiring the re-design of the application.
read more
Abstract: The need for self-healing software to respond with a reactive, proactive or preventative action as a result of changes in its environment has added the non-functional requirement of adaptation to the list of facilities expected in self-managing systems. The adaptations we are concerned with assist with problem detection, diagnosis and remediation. Many existing computing systems do not include such adaptation mechanisms, as a result these systems either need to be re-designed to include them or there needs to be a mechanism for retro-fitting these mechanisms. The purpose of the adaptation mechanisms is to ease the job of the system administrator with respect to managing software systems. This paper introduces Kheiron, a framework for facilitating adaptations in running programs in a variety of execution environments without requiring the re-design of the application. Kheiron manipulates compiled C programs running in an unmanaged execution environment as well as programs running in Microsoft's Common Language Runtime and Sun Microsystems' Java Virtual Machine. We present case-studies and experiments that demonstrate the feasibility of using Kheiron to support self-healing systems. We also describe the concepts and techniques used to retro-fit adaptations onto existing systems in the various execution environments.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Figures
Citations
•Journal Article
An overview of AspectJ
TL;DR: AspectJ as mentioned in this paper is a simple and practical aspect-oriented extension to Java with just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns.
2.9K
Configuration Fuzzing for Software Vulnerability Detection
Huning Dai,Christian Murphy,Gail E. Kaiser +2 more
- 15 Feb 2010
TL;DR: This paper presents a new testing methodology called configuration fuzzing, a technique whereby the configuration of the running application is randomly modified at certain execution points, in order to check for vulnerabilities that only arise in certain conditions.
Metamorphic testing techniques to detect defects in applications without test oracles
Gail E. Kaiser,Christian Murphy +1 more
- 01 Jan 2010
TL;DR: An automated approach to metamorphic testing will advance the state of the art in detecting defects in programs without test oracles, particularly in the domains of machine learning, simulation, and optimization.
Evaluation of Self-Healing Systems: An Analysis of the State-of-the-Art and Required Improvements
Sona Ghahremani,Holger Giese +1 more
TL;DR: A main finding is that the employed inputs are often not sophisticated regarding the considered characteristics for failure occurrences, and it is indicated that employing multiple alternative input characteristics can help with reducing the risk of premature disadvantageous design-time decisions.
17
Metamorphic Runtime Checking of Non-Testable Programs
Christian Murphy,Gail E. Kaiser +1 more
- 01 Jan 2009
TL;DR: This paper describes an implementation framework called Columbus, and presents the results of empirical studies that demonstrate that checking the metamorphic properties of individual functions increases the effectiveness of the approach in detecting defects, with minimal performance impact.
11
References
The vision of autonomic computing
TL;DR: A 2001 IBM manifesto noted the almost impossible difficulty of managing current and planned computing systems, which require integrating several heterogeneous environments into corporate-wide computing systems that extend into the Internet.
7.2K
Aspect-oriented programming
Gregor Kiczales,Erik Hilsdale +1 more
- 01 Sep 2001
TL;DR: This tutorial shows how to use AOP to implement crosscutting conerns in a concise modular way and includes a description of their underlying model, in terms of which a wide range of AOP languages can be understood.
5.6K
•Book
The Java Virtual Machine Specification
Tim Lindholm,Frank Yellin +1 more
- 19 Sep 1996
TL;DR: In this article, the authors present a detailed overview of the Java Virtual Machine, including the internal structure of the class file format, the internal form of Fully Qualified Class and Interface names, and the implementation of new class instances.
•Journal Article
An overview of AspectJ
TL;DR: AspectJ as mentioned in this paper is a simple and practical aspect-oriented extension to Java with just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns.
2.9K
•Book
Understanding the Linux Kernel
Daniel Pierre Bovet,Marco Cassetti,Andy Oram +2 more
- 11 Oct 2000
TL;DR: This edition of Understanding the Linux Kernel covers Version 2.6, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices.
1.5K


![Fig. 4. ELF Symbol Table Entry [20]](/figures/fig-4-elf-symbol-table-entry-20-39w4mpoa.png)


