arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1908.02329cs.SE
收藏

基于组件模型的系统级模型可扩展推理

Scalable Inference of System-level Models from Component Logs

Donghwan Shin, Salma Messaoudi, Domenico Bianculli, Annibale Panichella, Lionel Briand, Raimondas Sasnauskas

摘要:

行为软件模型在许多软件工程任务中起着关键作用;不幸的是,这些模型要么在软件开发期间不可用,要么,如果可用,它们很快就会随着实现的发展而过时。模型推理技术已被提出作为一个可行的解决方案,从执行日志中提取有限状态模型。然而,现有技术在处理非常大的日志(诸如通过组合组件级日志而获得的系统级日志)时不能很好地扩展。此外,在基于组件的系统的情况下,现有技术假定知道组件之间的通信信道的定义。但是,在系统集成了第三方组件且文档有限的情况下,通常无法获得此信息。在本文中,我们解决的可扩展性问题,推断模型的基于组件的系统从单独的组件级日志,当唯一可用的信息系统是高层次的架构组件之间的依赖关系和(可能不完整)的日志消息模板列表表示组件之间的通信事件。我们的模型推理技术,称为SCALER,遵循分而治之的方法。其思想是首先从相应的日志中推断每个系统组件的模型;然后,考虑到组件之间的依赖关系,将各个组件模型合并在一起,如日志中所反映的那样。我们使用来自工业系统的日志数据集评估了SCALER的可扩展性和准确性;结果表明,SCALER可以处理比最先进的工具大得多的日志,同时产生更准确的模型。

英文摘要:

Behavioral software models play a key role in many software engineering tasks; unfortunately, these models either are not available during software development or, if available, they quickly become outdated as the implementations evolve. Model inference techniques have been proposed as a viable solution to extract finite-state models from execution logs. However, existing techniques do not scale well when processing very large logs, such as system-level logs obtained by combining component-level logs. Furthermore, in the case of component-based systems, existing techniques assume to know the definitions of communication channels between components. However, this information is usually not available in the case of systems integrating 3rd-party components with limited documentation. In this paper, we address the scalability problem of inferring the model of a component-based system from the individual component-level logs, when the only available information about the system are high-level architecture dependencies among components and a (possibly incomplete) list of log message templates denoting communication events between components. Our model inference technique, called SCALER, follows a divide and conquer approach. The idea is to first infer a model of each system component from the corresponding logs; then, the individual component models are merged together taking into account the dependencies among components, as reflected in the logs. We evaluated SCALER in terms of scalability and accuracy, using a dataset of logs from an industrial system; the results show that SCALER can process much larger logs than a state-of-the-art tool, while yielding more accurate models.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑