• 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