软件的适应性免疫:走向自主自愈系统
Adaptive Immunity for Software: Towards Autonomous Self-healing Systems
摘要:
测试和代码审查是提高软件质量和健壮性的已知技术。不幸的是,现代软件系统的复杂性使得不可能预测在运行时可能发生的所有可能的问题,这限制了使用测试和评审可以发现的问题。因此,考虑自主自愈软件系统是有意义的,它可以在运行时自动检测、诊断和包含意外问题。这一领域的大多数研究都采用了模型驱动的方法,即根据指定预期行为的模型检查实际行为,当系统行为超出规范时,控制器会采取行动。然而,制定这些规范并不容易,也不容易随着系统的发展而不断更新。我们提出,随着机器学习的最新进展,这样的模型可以通过观察系统来学习。此外,我们认为人工免疫系统(AIS)特别适合构建自我修复系统,因为它们具有异常检测和诊断能力。我们提出了国家的最先进的自愈系统和AIS,调查一些研究方向,已被认为是到现在为止。为了帮助推进最先进的技术,我们制定了一个研究议程,用于使用AIS构建自我修复软件系统,确定所需的基础和有前途的研究方向。
英文摘要:
Testing and code reviews are known techniques to improve the quality and robustness of software. Unfortunately, the complexity of modern software systems makes it impossible to anticipate all possible problems that can occur at runtime, which limits what issues can be found using testing and reviews. Thus, it is of interest to consider autonomous self-healing software systems, which can automatically detect, diagnose, and contain unanticipated problems at runtime. Most research in this area has adopted a model-driven approach, where actual behavior is checked against a model specifying the intended behavior, and a controller takes action when the system behaves outside of the specification. However, it is not easy to develop these specifications, nor to keep them up-to-date as the system evolves. We pose that, with the recent advances in machine learning, such models may be learned by observing the system. Moreover, we argue that artificial immune systems (AISs) are particularly well-suited for building self-healing systems, because of their anomaly detection and diagnosis capabilities. We present the state-of-the-art in self-healing systems and in AISs, surveying some of the research directions that have been considered up to now. To help advance the state-of-the-art, we develop a research agenda for building self-healing software systems using AISs, identifying required foundations, and promising research directions.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。