News and events
23 June 2017
Inferring Visual Contracts for Reverse Engineering and Model Transformation
Presented By Dr Reiko Heckel, University of Leicester
- N.1.12, Haslegrave Building
About this event
Visual contracts model the operations 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. However, due to their detailed specification of data states and transformations, modelling real applications is an error-prone process. 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. We explore potential uses including in program understanding and testing as well as the inference of complex model transformation rules from examples.