57,312 research outputs found
Automatic Software Repair: a Bibliography
This article presents a survey on automatic software repair. Automatic
software repair consists of automatically finding a solution to software bugs
without human intervention. This article considers all kinds of repairs. First,
it discusses behavioral repair where test suites, contracts, models, and
crashing inputs are taken as oracle. Second, it discusses state repair, also
known as runtime repair or runtime recovery, with techniques such as checkpoint
and restart, reconfiguration, and invariant restoration. The uniqueness of this
article is that it spans the research communities that contribute to this body
of knowledge: software engineering, dependability, operating systems,
programming languages, and security. It provides a novel and structured
overview of the diversity of bug oracles and repair operators used in the
literature
Continuous maintenance and the future – Foundations and technological challenges
High value and long life products require continuous maintenance throughout their life cycle to achieve required performance with optimum through-life cost. This paper presents foundations and technologies required to offer the maintenance service. Component and system level degradation science, assessment and modelling along with life cycle ‘big data’ analytics are the two most important knowledge and skill base required for the continuous maintenance. Advanced computing and visualisation technologies will improve efficiency of the maintenance and reduce through-life cost of the product. Future of continuous maintenance within the Industry 4.0 context also identifies the role of IoT, standards and cyber security
Policy-based autonomic control service
Recently, there has been a considerable interest in policy-based, goal-oriented service management and autonomic computing. Much work is still required to investigate designs and policy models and associate meta-reasoning systems for policy-based autonomic systems. In this paper we outline a proposed autonomic middleware control service used to orchestrate selfhealing of distributed applications. Policies are used to adjust the systems autonomy and define self-healing strategies to stabilize/correct a given system in the event of failures
CloudHealth: A Model-Driven Approach to Watch the Health of Cloud Services
Cloud systems are complex and large systems where services provided by
different operators must coexist and eventually cooperate. In such a complex
environment, controlling the health of both the whole environment and the
individual services is extremely important to timely and effectively react to
misbehaviours, unexpected events, and failures. Although there are solutions to
monitor cloud systems at different granularity levels, how to relate the many
KPIs that can be collected about the health of the system and how health
information can be properly reported to operators are open questions. This
paper reports the early results we achieved in the challenge of monitoring the
health of cloud systems. In particular we present CloudHealth, a model-based
health monitoring approach that can be used by operators to watch specific
quality attributes. The CloudHealth Monitoring Model describes how to
operationalize high level monitoring goals by dividing them into subgoals,
deriving metrics for the subgoals, and using probes to collect the metrics. We
use the CloudHealth Monitoring Model to control the probes that must be
deployed on the target system, the KPIs that are dynamically collected, and the
visualization of the data in dashboards.Comment: 8 pages, 2 figures, 1 tabl
A Critical Review of "Automatic Patch Generation Learned from Human-Written Patches": Essay on the Problem Statement and the Evaluation of Automatic Software Repair
At ICSE'2013, there was the first session ever dedicated to automatic program
repair. In this session, Kim et al. presented PAR, a novel template-based
approach for fixing Java bugs. We strongly disagree with key points of this
paper. Our critical review has two goals. First, we aim at explaining why we
disagree with Kim and colleagues and why the reasons behind this disagreement
are important for research on automatic software repair in general. Second, we
aim at contributing to the field with a clarification of the essential ideas
behind automatic software repair. In particular we discuss the main evaluation
criteria of automatic software repair: understandability, correctness and
completeness. We show that depending on how one sets up the repair scenario,
the evaluation goals may be contradictory. Eventually, we discuss the nature of
fix acceptability and its relation to the notion of software correctness.Comment: ICSE 2014, India (2014
- …