当前位置: X-MOL 学术Automat. Softw. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Inferring visual contracts from Java programs
Automated Software Engineering ( IF 2.0 ) Pub Date : 2018-07-05 , DOI: 10.1007/s10515-018-0242-9
Abdullah Alshanqiti , Reiko Heckel , Timo Kehrer

Visual contracts model the operation of components or services by pre- and post-conditions formalised as graph transformation rules. They provide a precise intuitive notation to support testing, understanding and analysis of software. Their detailed specification of internal data states and transformations, referred to as deep behavioural modelling, is an error-prone activity. In this paper we propose a dynamic approach to reverse engineering visual contracts from Java based on tracing the execution of Java operations. The resulting contracts give an accurate description of the observed object transformations, their effects and preconditions in terms of object structures, parameter and attribute values, and their generalised specification by universally quantified (multi) objects, patterns, and invariants. While this paper focusses on the fundamental technique rather than a particular application, we explore potential uses in our evaluation, including in program understanding, review of test reports and debugging.

中文翻译:

从 Java 程序推断视觉契约

可视化契约通过形式化为图转换规则的前置和后置条件对组件或服务的操作进行建模。它们提供了精确直观的符号来支持软件的测试、理解和分析。他们对内部数据状态和转换的详细说明,称为深度行为建模,是一种容易出错的活动。在本文中,我们提出了一种基于跟踪 Java 操作执行的动态方法,从 Java 逆向工程可视化合约。由此产生的契约准确描述了观察到的对象变换、它们在对象结构、参数和属性值方面的效果和前提条件,以及它们通过普遍量化(多)对象、模式和不变量的广义规范。
更新日期:2018-07-05
down
wechat
bug