Sign in for Members and Observers

IFIP WG1.3 Foundations of System Specification

Talk "Extracting Visual Contracts from Java Programs"

by Reiko Heckel

Fri, 01 April 2016 at 10:10 am in Eindhoven, The Netherlands

Joint work with: Abdullah Alshanqiti

Abstract: 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. An interesting question is the notion of correctness and completeness of this method. In particular the approach, being based on testing, only explores a subset of the possible behaviours and only records the conditions and effects for a subset of the classes in the system. For the slides see https://prezi.com/eqwd9wyesdzy.