Computer Science

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.