DocumentCode
3722976
Title
Extracting Visual Contracts from Java Programs (T)
Author
Abdullah Alshanqiti;Reiko Heckel
fYear
2015
Firstpage
104
Lastpage
114
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. 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.
Keywords
"Contracts","Unified modeling language","Visualization","Java","Context","Testing","Cities and towns"
Publisher
ieee
Conference_Titel
Automated Software Engineering (ASE), 2015 30th IEEE/ACM International Conference on
Type
conf
DOI
10.1109/ASE.2015.63
Filename
7372000
Link To Document