University of Leicester
Browse

Extracting Visual Contracts from Java Programs

Download (1.9 MB)
conference contribution
posted on 2016-04-12, 09:57 authored by Reiko Heckel, Abdullah Alshanqiti
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. 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.

History

Citation

30th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2015, pp. 104-114

Author affiliation

/Organisation/COLLEGE OF SCIENCE AND ENGINEERING/Department of Computer Science

Source

30th IEEE/ACM International Conference on Automated Software Engineering (ASE 2015), Lincoln, NE, 9-13 Nov. 2015

Version

  • AM (Accepted Manuscript)

Published in

30th IEEE/ACM International Conference on Automated Software Engineering (ASE)

Publisher

Institute of Electrical and Electronics Engineers (IEEE), United States

Acceptance date

2015-07-18

Copyright date

2015

Available date

2016-04-12

Publisher version

http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7372000&filter=AND(p_Publication_Number:7371449)

Language

en