当前位置: X-MOL 学术Softw. Syst. Model. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Interface protocol inference to aid understanding legacy software components
Software and Systems Modeling ( IF 2.0 ) Pub Date : 2020-06-28 , DOI: 10.1007/s10270-020-00809-2
Kousar Aslam , Loek Cleophas , Ramon Schiffelers , Mark van den Brand

High-tech companies are struggling today with the maintenance of legacy software. Legacy software is vital to many organizations as it contains the important business logic. To facilitate maintenance of legacy software, a comprehensive understanding of the software’s behavior is essential. In terms of component-based software engineering, it is necessary to completely understand the behavior of components in relation to their interfaces, i.e., their interface protocols, and to preserve this behavior during the maintenance activities of the components. For this purpose, we present an approach to infer the interface protocols of software components from the behavioral models of those components, learned by a blackbox technique called active (automata) learning. To validate the learned results, we applied our approach to the software components developed with model-based engineering so that equivalence can be checked between the learned models and the reference models, ensuring the behavioral relations are preserved. Experimenting with components having reference models and performing equivalence checking builds confidence that applying active learning technique to reverse engineer legacy software components, for which no reference models are available, will also yield correct results. To apply our approach in practice, we present an automated framework for conducting active learning on a large set of components and deriving their interface protocols. Using the framework, we validated our methodology by applying active learning on 202 industrial software components, out of which, interface protocols could be successfully derived for 156 components within our given time bound of 1 h for each component.



中文翻译:

接口协议推论有助于理解传统软件组件

如今,高科技公司正努力维护旧版软件。旧版软件对于许多组织而言至关重要,因为它包含重要的业务逻辑。为了促进对旧软件的维护,对软件行为的全面理解至关重要。就基于组件的软件工程而言,有必要完全了解组件相对于其接口(即它们的接口协议)的行为,并在组件维护活动期间保留这种行为。为此,我们提出了一种从组件的行为模型中推断软件组件的接口协议的方法,该模型是通过称为主动(自动)学习的黑盒技术来学习的。为了验证学习结果,我们将我们的方法应用于基于模型的工程开发的软件组件,以便可以检查学习的模型与参考模型之间的等效性,从而确保行为关系得以保留。对具有参考模型的组件进行试验并进行等效检查可以建立信心,即使用主动学习技术对没有参考模型可用的传统软件组件进行逆向工程也会产生正确的结果。为了在实践中应用我们的方法,我们提出了一个自动化的框架,用于在大量组件上进行主动学习并推导它们的接口协议。通过使用该框架,我们通过对202种工业软件组件进行了主动学习来验证了我们的方法,其中,

更新日期:2020-06-28
down
wechat
bug